这是我的代码:
function &query_test(....)
{
$ret = array(....);
return ($ret);
}
为什么我在 PHPStorm 上收到严格警告说 “只有变量可以通过引用返回”
我尝试创建 $ret 作为类的一个元素并使用 return($this->ret) 尝试使用 return(&$ret); 尝试使用 return (new $ret);
我在另一个文件中有另一段代码,没有抱怨。关于为什么一个人抱怨而另一个人不抱怨,我在代码中找不到任何区别。其他文件是否可能告诉 PHPStorm 不要抱怨。这两个文件都在同一个项目,同一个目录中。
我已经阅读了很多关于此的帖子。虽然谷歌搜索投诉给出了很多关于通过引用传递变量的帖子,而不是返回对变量的引用。
代码有效。我调用的函数是
$result = $obj->query_test(....);
我知道也许我应该使用
$result =& $obj->query_test(...);
如果我选择后者,后果是什么?
我想通过修复代码来摆脱 PHPStorm. 中的严格消息。 返回的数组可以包含相当大的数据。 从函数定义中删除 & 不是一个选项,因为派生此类的基类与 & 具有相同的函数名称。另一个文件中的基类没有抱怨。奇怪,我一定是错过了什么。
查看我尝试过的问题的详细信息。