Pdo\Pgsql::copyToArray

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyToArrayデータベーステーブルからのデータをPHPの配列にコピーする

説明

public function Pdo\Pgsql::copyToArray(
    string $tableName,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): array|false

tableName のデータを配列にコピーします。その際、separator をフィールドのデリミタ、そして fields のリストを使います。

パラメータ

tableName
テーブル名を含む文字列
separator
rows 配列の各要素の中で フィールドを分割するためのデリミタ
nullAs
SQLの NULL 値をどのように扱うかを指定します
fields
エクスポートするフィールドの一覧

戻り値

行の配列を返します。失敗した場合に false を返します

例1 Pdo\Pgsql::copyToArray() の例

返される各要素が 1 つのレコードであり、そのフィールドは separator で連結され、末尾に改行が付いています。

<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');
$db->exec("INSERT INTO fruits VALUES (1, 'apple', 10), (2, 'banana', 20)");

$rows = $db->copyToArray('fruits');
var_export($rows);
?>

上の例の出力は以下となります。

array (
  0 => '1	apple	10
',
  1 => '2	banana	20
',
)

参考