2024 年 PHP Conference Japan

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