PHP

pg_fetch_array

pg_fetch_array

(PHP 4, PHP 5, PHP 7)

pg_fetch_array - 以数组的形式获取一行

描述

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

pg_fetch_array()返回一个对应于获取行(记录)的数组。

pg_fetch_array()pg_fetch_row()的扩展版本。除了将数据以数字索引(字段编号)存储到结果数组之外,它还可以使用关联索引(字段名称)存储数据。它默认存储两个标记。

注意:该函数将NULL字段设置为PHP NULL值。

pg_fetch_array()不会比使用pg_fetch_row()慢得多,而且使用起来更加简单。

参数

result

PostgreSQL查询结果资源,由pg_query(),pg_query_params()或pg_execute()等返回。

row

结果中的行号用于提取。行从0开始编号。如果省略或者NULL下一行被提取。

result_type

一个可选参数,用于控制返回数组的索引方式。result_type是一个常量,可以采取以下值:PGSQL_ASSOCPGSQL_NUMPGSQL_BOTH。使用PGSQL_NUMpg_fetch_array()将返回数字索引的阵列,使用PGSQL_ASSOC它会返回仅关联索引而PGSQL_BOTH,默认值,将返回数字及关联索引。

返回值

数组索引(从0开始)或关联(按字段名称索引)或两者。数组中的每个值都表示为一个字符串。数据库NULL值作为返回NULL

FALSE如果row超过集合中的行数,则没有更多行或出现任何其他错误。

例子

Example #1 pg_fetch_array() example

<?php  $conn = pg_pconnect("dbname=publisher" if (!$conn) {   echo "An error occurred.\n";   exit; } $result = pg_query($conn, "SELECT author, email FROM authors" if (!$result) {   echo "An error occurred.\n";   exit; } $arr = pg_fetch_array($result, 0, PGSQL_NUM echo $arr[0] . " <- Row 1 Author\n"; echo $arr[1] . " <- Row 1 E-mail\n"; // The row parameter is optional; NULL can be passed instead, // to pass a result_type.  Successive calls to pg_fetch_array // will return the next row. $arr = pg_fetch_array($result, NULL, PGSQL_ASSOC echo $arr["author"] . " <- Row 2 Author\n"; echo $arr["email"] . " <- Row 2 E-mail\n"; $arr = pg_fetch_array($result echo $arr["author"] . " <- Row 3 Author\n"; echo $arr[1] . " <- Row 3 E-mail\n"; ?>