(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_array — Возвращает строку результата в виде массива
Функция pg_fetch_array() возвращает массив, который соответствует выбранной строке (записи).
Функция pg_fetch_array() — расширенный вариант функции pg_fetch_row(). Эта функция умеет сохранять данные не только с числовыми индексами (номерами полей), но и с ассоциативными (именами полей). По умолчанию функция хранит и те, и другие.
Замечание: Эта функция устанавливает NULL-поля в значение
null
PHP.
Функция pg_fetch_array() выполняется немного медленнее, чем функция pg_fetch_row(), но значительно проще в работе.
result
Экземпляр класса PgSql\Result, который возвращают функции pg_query(), pg_query_params() или pg_execute() (среди прочего).
row
Номер строки в result для выборки. Строки пронумерованы с 0 по возрастанию.
Если параметр опустили или передали null
, функция выберет следующую строку.
mode
Необязательный параметр, который управляет индексированием массив (array), который возвращает функция.
Параметр mode
— константа и принимает следующие значения:
PGSQL_ASSOC
, PGSQL_NUM
и PGSQL_BOTH
.
С константой PGSQL_NUM
функция возвращает массив с числовыми индексами,
с константой PGSQL_ASSOC
функция вернёт только ассоциативные индексы,
а с PGSQL_BOTH
— вернёт как числовые, так и ассоциативные индексы.
Функция возвращает массив (array) с числовыми индексами (начиная с 0),
либо ассоциативными (по имени поля), либо с обеими типами индексов.
Функция представляет каждое значение в массиве (array)
в виде строки (string). Значение NULL
возвращается как
null
.
Функция возвращает false
, если значение row
выходит за рамки
количества строк в выборке, или отсутствия строк, или если возникла любая другая ошибка.
Выборка из результата запроса, который отличается от SELECT, также вернёт false
.
Версия | Описание |
---|---|
8.1.0 |
Параметр result теперь ожидает экземпляр класса
PgSql\Result; раньше параметр ожидал ресурс (resource).
|
Пример #1 Пример использования функции pg_fetch_array()
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Произошла ошибка.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";
// Параметр row необязателен,
// для передечи result_type вместо row можно передать NULL.
// Успешные вызовы pg_fetch_array вернут следующий ряд.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";
$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";
?>