執行以下代碼:
<code class="php">$table = get_personel_table(1); function get_personel_table($id) { global $connection; $query = "SELECT * FROM employees WHERE id=$id ORDER BY id ASC"; $query_result = mysqli_query($connection, $query); confirm_query($query_result); $query_result_array = mysqli_fetch_array($query_result); return $query_result_array; // returns associative array! } foreach($table as $table_var) { echo "<td>$table_var</td>"; }</code>
結果為雙倍輸出,如:
1 1 1 1 jordan jordan 9108121544 9108121544 testEmail testEmail testAddress testAddress testCounty testCounty
mysqli_fetch_array 的預設行為是傳回結果行的關聯索引和數字索引。在給定情況下這是不希望的。要限制傳回的鍵,您可以使用函數的第二個參數:
<code class="php">$query_result_array = mysqli_fetch_array($query_result, MYSQLI_NUM); // numeric keys only $query_result_array = mysqli_fetch_array($query_result, MYSQLI_ASSOC); // associative keys only</code>
或者,您可以使用以下函數:
<code class="php">$query_result_array = mysqli_fetch_row($query_result); // numeric keys only $query_result_array = mysqli_fetch_assoc($query_result); // associative keys only</code>
僅使用數字或關聯鍵,您可以消除輸出中的重複資料。
以上是為什麼我的 MySQLi 取得數組會導致輸出加倍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!