如何在 PHP 中通过引用返回变量?

问题描述 投票:0回答:0

这是我的代码:

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. 中的严格消息。 返回的数组可以包含相当大的数据。 从函数定义中删除 & 不是一个选项,因为派生此类的基类与 & 具有相同的函数名称。另一个文件中的基类没有抱怨。奇怪,我一定是错过了什么。

查看我尝试过的问题的详细信息。

php variables reference return
© www.soinside.com 2019 - 2024. All rights reserved.