是否有理由用自己的元素之一覆盖数组变量?

时间:2019-04-24 15:50:37

标签: php mysql mysqli

我最近“继承”了一个使用mySQL数据库作为其后端一部分的PHP Web应用程序。在浏览代码时,我遇到了一个完全使我困惑的块。

$results = array();
$results[] = $mysqli_result->fetch_array();
$results = $results[0];

return $results;

因此,我知道前两行正在初始化一个空数组,并将先前查询的第一行结果分配给该新数组。但是第三行对我来说没有意义。据我了解,fetch_array()一次只能抓一行;我认为没有任何理由使用$results = $results[0];行。我能想到的最好的办法是删除mysql_result以来的剩余代码。

是否有任何理由要使用第三行?预先感谢。

1 个答案:

答案 0 :(得分:1)

不,没有理由。这只是“新手代码”的常见示例。当您不知道如何正确执行操作时,您就是根据自己所知道的来编写。正确的版本就是

$result = $mysqli_result->fetch_array();

或者由于它是在赋值后立即返回的,因此直接将其返回,因为$result变量没有用于其他任何用途

return  $mysqli_result->fetch_array();