我最近“继承”了一个使用mySQL数据库作为其后端一部分的PHP Web应用程序。在浏览代码时,我遇到了一个完全使我困惑的块。
$results = array();
$results[] = $mysqli_result->fetch_array();
$results = $results[0];
return $results;
因此,我知道前两行正在初始化一个空数组,并将先前查询的第一行结果分配给该新数组。但是第三行对我来说没有意义。据我了解,fetch_array()
一次只能抓一行;我认为没有任何理由使用$results = $results[0];
行。我能想到的最好的办法是删除mysql_result
以来的剩余代码。
是否有任何理由要使用第三行?预先感谢。
答案 0 :(得分:1)
不,没有理由。这只是“新手代码”的常见示例。当您不知道如何正确执行操作时,您就是根据自己所知道的来编写。正确的版本就是
$result = $mysqli_result->fetch_array();
或者由于它是在赋值后立即返回的,因此直接将其返回,因为$result
变量没有用于其他任何用途
return $mysqli_result->fetch_array();