首頁 後端開發 PHP問題 php怎麼將查詢結果轉為陣列(三種方法)

php怎麼將查詢結果轉為陣列(三種方法)

Apr 04, 2023 pm 05:17 PM

在 PHP 中,查詢結果有時會以不同的形式傳回,可能是一個對象,也可能是一個數組,有時我們想要的結果是一個數組。因此,這裡介紹幾種將查詢結果轉換為陣列的方法,讓查詢結果更符合我們的需求。

  1. fetch_assoc() 方法

fetch_assoc() 方法傳回一個關聯數組,其中的鍵名是資料庫中的欄位名,鍵值則是記錄中的對應值。 fetch_assoc() 方法傳回查詢結果的一行數據,呼叫一次該方法只能傳回一行,如果要讀取其他行,則需要再次呼叫該方法。

範例程式碼如下:

// 假设 $conn 是 MySQL 数据库连接对象
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);

// fetch_assoc 方法返回一个关联数组
while ($row = $result->fetch_assoc()) {
    echo $row['id'] , $row['name'] , $row['age'];
}
登入後複製
  1. fetch_array() 方法

fetch_array() 方法傳回一個既包含數字索引也包含關聯索引的數組,它類似於一個關聯數組和一個索引數組的組合。數字索引對應的是查詢結果中的列的索引,關聯索引對應的是資料庫中的欄位名稱。這種方式與fetch_assoc() 方法類似,只是傳回的陣列方式不同。

範例程式碼如下:

// 假设 $conn 是 MySQL 数据库连接对象
$sql = "SELECT id, name, age FROM users";
$result=$conn->query($sql);

// fetch_array 方法返回一个包含关联和数字索引的数组
while ($row = $result->fetch_array()) {
    echo $row['id'] , $row['name'] , $row['age'];
}
登入後複製
  1. fetch_all() 方法

fetch_all() 方法傳回一個全部結果集,此方法需要在mysqli 擴充版本5.3.0以上才能使用,且只支援使用MySQL 擴充驅動。傳回的結果是一個二維數組,每個子數組是一行數據,其中子數組中的元素對應的是該行記錄中的每個字段。使用該方法可以簡化程式碼。

範例程式碼如下:

// 假设 $conn 是 MySQL 数据库连接对象
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);

// fetch_all 方法返回一个二维数组
$data = $result->fetch_all();
foreach ($data as $row) {
    echo $row[0] , $row[1], $row[2];
}
登入後複製

總結

利用fetch_assoc() 方法可以取得到以欄位名為鍵名的關聯數組,利用fetch_array() 方法傳回一個既包含數字索引也包含關聯索引的數組,而fetch_all() 方法則可以直接傳回一個全部結果集的二維數組。根據具體情況,選擇使用不同的方法來取得查詢結果數組,可以幫助我們更方便地操作資料。

以上是php怎麼將查詢結果轉為陣列(三種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP數組去重有哪些最佳實踐 PHP數組去重有哪些最佳實踐 Mar 03, 2025 pm 04:41 PM

PHP數組去重有哪些最佳實踐

PHP數組去重可以利用鍵名唯一性嗎 PHP數組去重可以利用鍵名唯一性嗎 Mar 03, 2025 pm 04:51 PM

PHP數組去重可以利用鍵名唯一性嗎

PHP數組去重需要考慮性能損耗嗎 PHP數組去重需要考慮性能損耗嗎 Mar 03, 2025 pm 04:47 PM

PHP數組去重需要考慮性能損耗嗎

PHP數組去重有哪些優化技巧 PHP數組去重有哪些優化技巧 Mar 03, 2025 pm 04:50 PM

PHP數組去重有哪些優化技巧

如何在PHP中實現消息隊列(RabbitMQ,REDIS)? 如何在PHP中實現消息隊列(RabbitMQ,REDIS)? Mar 10, 2025 pm 06:15 PM

如何在PHP中實現消息隊列(RabbitMQ,REDIS)?

最新的PHP編碼標準和最佳實踐是什麼? 最新的PHP編碼標準和最佳實踐是什麼? Mar 10, 2025 pm 06:16 PM

最新的PHP編碼標準和最佳實踐是什麼?

我如何處理PHP擴展和PECL? 我如何處理PHP擴展和PECL? Mar 10, 2025 pm 06:12 PM

我如何處理PHP擴展和PECL?

如何使用反射來分析和操縱PHP代碼? 如何使用反射來分析和操縱PHP代碼? Mar 10, 2025 pm 06:12 PM

如何使用反射來分析和操縱PHP代碼?

See all articles