首頁 >資料庫 >mysql教程 >為什麼我的 foreach 迴圈在使用「mysql_fetch_array」時顯示雙倍的資料?

為什麼我的 foreach 迴圈在使用「mysql_fetch_array」時顯示雙倍的資料?

Patricia Arquette
Patricia Arquette原創
2024-10-27 20:25:30923瀏覽

Why does my foreach loop display doubled data when using `mysql_fetch_array`?

數組(mysql_fetch_array) 中的結果加倍

由於mysql_fetch_array 的操作方式,給定的代碼遇到了foreach 循環顯示數據的問題。預設情況下,它會為結果數組中的每個元素分配數字索引和關聯索引。這種效果可以在 print_r 輸出中觀察到,其中同時出現索引(0、1、2 等)及其對應的鍵(id、department_id、name 等)。

要解決此問題,您可以在 mysql_fetch_array 函數呼叫中指定所需的索引類型。透過傳遞 MYSQL_NUM 作為第二個參數,您可以檢索僅包含數字鍵的陣列。或者,MYSQL_ASSOC 將傳回僅包含關聯鍵的陣列。

<code class="php">// Get numeric keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM);

// Get associative keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC);</code>

您也可以使用mysql_fetch_row 和mysql_fetch_assoc 函數,它們分別專門傳回數字或關聯數組:

<code class="php">// Get numeric keys only
$query_result_array = mysql_fetch_row($query_result);

// Get associative keys only
$query_result_array = mysql_fetch_assoc($query_result);</code>

利用這些選項,您可以避免foreach 循環中的重複資料,並確保結果陣列包含您需要的索引和值。

以上是為什麼我的 foreach 迴圈在使用「mysql_fetch_array」時顯示雙倍的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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