当我从表中返回一行时,为了收集我通常使用的结果,例如:
$info = $result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
它和之间有什么区别:
$info = $result->fetch_array();
Run Code Online (Sandbox Code Playgroud)
当只返回一行时,是否有理由使用其中一个,或者仅仅是个人偏好?
Mr.*_*ien 25
这完全取决于性能
fetch_array()返回一个包含数字键和关联字符串(列名)的数组,所以在这里你可以使用$row['column_name']或$row[0]
where fetch_assoc()将返回字符串索引键数组而没有数字数组,所以你不会在这里使用像数字键这样的选项.$row[0]
因此,fetch_array()与数字索引相比,后者的性能更好,并且显然使用命名索引要好得多.
小智 9
fetch_array使用索引返回值.但是Fetch_assoc只返回该值.
例如fetch_array返回
[0] => 11
[id] => 11
[1] => 2014-12-29
[date] => 2014-12-29
Run Code Online (Sandbox Code Playgroud)
这里的数组位置0包含11,这个位置名称也是'id'.
同样的事情fetch_assoc将返回
[id] => 11
[date] => 2014-12-29
Run Code Online (Sandbox Code Playgroud)
意味着只返回值.