php - 有没有理由用自己的元素之一覆盖数组变量?
问题描述
我最近“继承”了一个 PHP Web 应用程序,它使用 mySQL 数据库作为其后端的一部分。在浏览代码时,我遇到了一个让我非常困惑的块。
$results = array();
$results[] = $mysqli_result->fetch_array();
$results = $results[0];
return $results;
所以我知道前两行正在初始化一个空数组并将前一个查询的第一行结果分配给该新数组。但是第三行对我来说没有意义。据我了解,fetch_array()
一次只能抓取一排;我想不出有什么理由要$results = $results[0];
排队。我能想到的最好的办法是它是mysql_result
被删除时的剩余代码。
有什么理由有这个第三行吗?
解决方案
不,没有理由。这只是“货物崇拜代码”的一个例子。当您不知道如何正确地做某事时,您只需复制/粘贴一些现有代码,而无需真正了解是否有必要。
当然,创建一个数组,然后在这个数组中创建一个新元素,然后用第一个元素重新分配这个数组变量是没有意义的。相反,只需分配一个变量:
$result = $mysqli_result->fetch_array();
或者 - 更好 - 因为这个变量是在赋值后立即返回的,所以只需立即返回它,因为该$result
变量不会在其他任何地方使用。
return $mysqli_result->fetch_array();
推荐阅读
- laravel - Laravel livewire pdf 流
- php - Volley Kotlin 不会从 PHP 接收 JSON 对象
- matrix-multiplication - 在另一个四元数的框架中旋转四元数?
- python - LOGIN_REDIRECT_URL
- android - 操作菜单图标存在时Android CollapsingToolbarLayout折叠标题不居中
- python - 错误:NotImplementedError:这是语音识别中的一个抽象类
- reactjs - 光滑的滑块 1 图像向下移动
- python - 自动将图像添加到 PDF 文件中的相应页面,然后将 PDF 保存为新文件 Python
- sql - 内部连接选择查询中的重复列
- python - 在 Pandas 的列中添加嵌套字典