pg_fetch_array
(PHP 4, PHP 5, PHP 7)
pg_fetch_array — Возвращает строку результата в виде массива
Описание
$result
, int $row
= ?
, int $result_type
= PGSQL_BOTH
) : arraypg_fetch_array() возвращает массив, соответствующий выбранной строке (записи).
pg_fetch_array() расширенная версия функции pg_fetch_row(). Эта функция способна сохранить данные не только с цифровыми индексами, но и с ассоциативными (имя поля). По умолчанию хранит и те и другие.
Замечание: Эта функция устанавливает NULL-поля в значение
null
PHP.
pg_fetch_array() выполняется незначительно медленнее чем pg_fetch_row(), но значительно проще в использовании.
Список параметров
-
result
-
Ресурс результата запроса PostgreSQL, возвращенный функцией pg_query(), pg_query_params() или pg_execute() (и прочих).
-
row
-
Номер строки в result для выборки. Строки пронумерованы с 0 по возрастанию. Если параметр опущен или передан
null
будет выбрана следующая строка. -
result_type
-
Необязательный параметр для управления типом индексации возвращаемого массива (array). Параметр
result_type
обязателен и может принимать следующие значения:PGSQL_ASSOC
,PGSQL_NUM
иPGSQL_BOTH
. При указанииPGSQL_NUM
, pg_fetch_array() вернет массив с числовыми индексами, в случаеPGSQL_ASSOC
вернет только ассоциативные индексы, а в случаеPGSQL_BOTH
(используется по умолчанию) - числовые и ассоциативные индексы.
Возвращаемые значения
Массив (array) с числовыми индексами (начиная с 0),
либо ассоциативными (по имени поля), либо с обеими типами индексов.
Каждое значение в массиве (array) представлено как
строка (string). Значение NULL
возвращается как
null
.
Функция возвращает false
, если row
выходит за рамки
количества строк в выборке, или отсутствия строк, или в случае любой другой ошибки.
Примеры
Пример #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";
?>
Смотрите также
- pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
- pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
- pg_fetch_result() - Возвращает запись из результата запроса