pg_fetch_array

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_arrayВозвращает строку результата в виде массива

Описание

pg_fetch_array(PgSql\Result$result, ?int$row = null, int$mode = PGSQL_BOTH): array|false

Функция 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";

?>

Смотрите также

  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_object() - Выбирает строку результата запроса и возвращает данные в виде объекта
  • pg_fetch_result() - Возвращает запись из результата запроса
To Top