pg_fetch_all

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

説明

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

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

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

パラメータ

result

pg_querypg_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
        )

)

参考

  • pg_fetch_row
  • pg_fetch_array
  • pg_fetch_object
  • pg_fetch_result