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