pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_fetch_all取得されたすべての行を配列として取得する

説明

pg_fetch_all(PgSql\Result $result, int $mode = PGSQL_ASSOC): array

pg_fetch_all()は、 PgSql\Result インスタンスのすべての行 (レコード)を保持する配列を返します。

注意: この関数は、 NULL フィールドに PHPの null 値を設定します。

パラメータ

result

pg_query()pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。

mode

返される配列のインデックスを制御するオプションの引数です。 mode は定数で、以下の値を取ることができます。: PGSQL_ASSOC, PGSQL_NUM, PGSQL_BOTHPGSQL_NUM を使うと、配列のインデックスを数値にした配列を返します。PGSQL_ASSOC を使うと、連想配列のインデックスを返します。PGSQL_BOTH を指定すると、数値と連想配列のインデックスを両方含めた形で配列を返します。

戻り値

結果のすべての行を含む配列を返します。それぞれの行は、フィールド名を 添字とするフィールド値の配列です。

変更履歴

バージョン 説明
8.1.0 result は、PgSql\Result クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
8.0.0 pg_fetch_all() は 結果セットが0行の場合、false ではなく、 空の配列を返すようになりました。
7.1.0 mode パラメータが追加されました。

例1 PostgreSQL fetch all

<?php
$conn
= pg_pconnect("dbname=publisher");
if (!
$conn) {
echo
"An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!
$result) {
echo
"An error occurred.\n";
exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

参考