Mysqli fetch_assoc vs fetch_array

2022-08-30 18:52:35

当我从表中返回一行时,为了收集我通常使用的结果,例如:

$info = $result->fetch_assoc(); 

这和有什么区别:

$info = $result->fetch_array();

当只返回一行时,是否有理由使用一个而不是另一个,或者只是个人偏好?


答案 1

一切都与性能有关

fetch_array()返回一个同时具有数字键和关联字符串(列名)的数组,因此在这里您可以使用或$row['column_name']$row[0]

其中 as 将返回字符串索引键数组,没有数字数组,因此您在这里没有使用数字键的选项,例如 $row[0]fetch_assoc()

因此,与数字索引相比,后者的性能更好,显然使用命名索引要好得多。fetch_array()


答案 2

fetch_array返回带有索引的值。但Fetch_assoc只返回值。

例如fetch_array退货

[0] => 11
[id] => 11
[1] => 2014-12-29
[date] => 2014-12-29

这里的数组位置 0 包含 11 也此位置名称是 'id'。

fetch_assoc会返回的相同内容

[id] => 11
[date] => 2014-12-29

means 只返回值。


推荐