pg_fetch_array
(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_array — 提取一行作為陣列
說明
$result
, int $row
= ?, int $result_type
= ?): array
pg_fetch_array()
返回一個與所提取的行(元組/記錄)相一致的陣列。如果沒有更多行可供提取,則返回
false
。
pg_fetch_array() 是 pg_fetch_row() 的擴充套件版本。在返回的陣列中不僅以數字索引方式存放數據(欄位編號),預設情況下還用欄位名做索引存放數據(欄位名)。
row
是想要取得的行(記錄)的編號。第一行為 0。
result_type
是可選參數,控制著怎樣初始化返回值。result_type
是一個常量,可以有以下取值:PGSQL_ASSOC
,PGSQL_NUM
和 PGSQL_BOTH
。取值為 PGSQL_ASSOC
時
pg_fetch_array() 返回用欄位名作為鍵值索引的關聯陣列,取值為
PGSQL_NUM
時用欄位編號作為鍵值,取值為
PGSQL_BOTH
時則同時用兩者作為鍵值。預設值是 PGSQL_BOTH
。
注意:
result_type
是在 PHP 4.0 中才加入的參數。
pg_fetch_array() 並不明顯比使用 pg_fetch_row() 慢,而且在使用中提供了更大的方便。
示例 #1 pg_fetch_array()
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- array\n";
$arr = pg_fetch_array($result, 1, PGSQL_ASSOC);
echo $arr["author"] . " <- array\n";
?>
注意:
從 4.1.0 開始,
row
成為可選參數。每次呼叫 pg_fetch_array(),內部的行計數器都會加一。