pg_fetch_array

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

pg_fetch_array -- 提取一行作為陣列

說明

array pg_fetch_array ( resource result [, int row [, int result_type]] )

pg_fetch_array() 返回一個與所提取的行(元組/記錄)相一致的陣列。若果沒有更多行可供提取,則返回 FALSE

pg_fetch_array()pg_fetch_row() 的增加版本。在返回的陣列中不僅以數字索引模式存放資料(欄位編號),預設情況下還用欄位名做索引存放資料(欄位名)。

row 是想要取得的行(記錄)的編號。第一行為 0。

result_type 是可選參數,控制著怎樣起始化返回值。result_type 是一個常量,可以有以下取值:PGSQL_ASSOCPGSQL_NUMPGSQL_BOTH。取值為 PGSQL_ASSOCpg_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($result0PGSQL_NUM);
echo 
$arr[0] . " <- array\n";

$arr pg_fetch_array($result1PGSQL_ASSOC);
echo 
$arr["author"] . " <- array\n";

?>

注: 從 4.1.0 開始,row 成為可選參數。每次呼叫 pg_fetch_array(),內定的行計數器都會加一。

參見 pg_fetch_row()pg_fetch_object() 以及 pg_fetch_result()