PHP Conference Japan 2024

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_array -- mysqli_fetch_array将结果集的下一行作为关联数组、数字数组或两者都获取

描述

面向对象风格

public mysqli_result::fetch_array(int $mode = MYSQLI_BOTH): array|null|false

过程化风格

mysqli_fetch_array(mysqli_result $result, int $mode = MYSQLI_BOTH): array|null|false

从结果集中获取一行数据并将其作为数组返回。对该函数的每次后续调用都将返回结果集中的下一行,如果不再有行,则返回null

除了将数据存储在结果数组的数字索引中之外,此函数还可以通过使用结果集的字段名称作为键来将数据存储在关联索引中。

如果结果集中的两列或更多列具有相同的名称,则最后一列将优先并覆盖任何先前的数据。要访问具有相同名称的多个列,必须使用该行的数字索引版本。

注意: 此函数返回的字段名称区分大小写

注意: 此函数将 NULL 字段设置为 PHP 的null 值。

参数

result

仅过程化风格:由 mysqli_query()mysqli_store_result()mysqli_use_result()mysqli_stmt_get_result() 返回的 mysqli_result 对象。

mode

此可选参数是一个常量,指示应从当前行数据生成哪种类型的数组。此参数的可能值为常量MYSQLI_ASSOCMYSQLI_NUMMYSQLI_BOTH

通过使用MYSQLI_ASSOC 常量,此函数的行为将与 mysqli_fetch_assoc() 完全相同,而MYSQLI_NUM 将与 mysqli_fetch_row() 函数的行为完全相同。最后一个选项MYSQLI_BOTH 将创建一个包含两者的属性的单个数组。

返回值

返回表示已获取行的数组,如果结果集中没有更多行,则返回null,或者在失败时返回false

示例

示例 #1 mysqli_result::fetch_array() 示例

面向对象风格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3";
$result = $mysqli->query($query);

/* 数字数组 */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* 关联数组 */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* 关联和数字数组 */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

过程化风格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($mysqli, $query);

/* 数字索引数组 */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* 关联数组 */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* 关联和数字索引数组 */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

以上示例将输出类似以下内容

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top