执行以下代码:
<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中文网其他相关文章!