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

Patricia Arquette
發布: 2024-10-27 20:25:30
原創
827 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!