(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_array — 提取一行作為數(shù)組
$result
, int $row
= ?, int $result_type
= ?): array
pg_fetch_array()
返回一個(gè)與所提取的行(元組/記錄)相一致的數(shù)組。如果沒(méi)有更多行可供提取,則返回
false
。
pg_fetch_array() 是 pg_fetch_row() 的擴(kuò)展版本。在返回的數(shù)組中不僅以數(shù)字索引方式存放數(shù)據(jù)(字段編號(hào)),默認(rèn)情況下還用字段名做索引存放數(shù)據(jù)(字段名)。
row
是想要取得的行(記錄)的編號(hào)。第一行為 0。
result_type
是可選參數(shù),控制著怎樣初始化返回值。result_type
是一個(gè)常量,可以有以下取值:PGSQL_ASSOC
,PGSQL_NUM
和 PGSQL_BOTH
。取值為 PGSQL_ASSOC
時(shí)
pg_fetch_array() 返回用字段名作為鍵值索引的關(guān)聯(lián)數(shù)組,取值為
PGSQL_NUM
時(shí)用字段編號(hào)作為鍵值,取值為
PGSQL_BOTH
時(shí)則同時(shí)用兩者作為鍵值。默認(rèn)值是 PGSQL_BOTH
。
注意:
result_type
是在 PHP 4.0 中才加入的參數(shù)。
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 開(kāi)始,
row
成為可選參數(shù)。每次調(diào)用 pg_fetch_array(),內(nèi)部的行計(jì)數(shù)器都會(huì)加一。
參見(jiàn) pg_fetch_row() 和 pg_fetch_object() 以及 pg_fetch_result()。