如果返回的值是引用或false,则PHP点

如果返回的值是引用或false,则PHP点,php,reference,Php,Reference,我有下面的函数修改对象的属性。它还可以向下几个级别修改对象中的数组中的数组 public function setProperty($path, $value=null) { $path=&$this->getPath($path); if ($path === false) return; else $path=$value; } getPath搜索要修改的值。逻辑如下: 例如,我向函数attributes->ids->first发送一个路径,如果路径存

我有下面的函数修改对象的属性。它还可以向下几个级别修改对象中的数组中的数组

public function setProperty($path, $value=null) {
    $path=&$this->getPath($path);
    if ($path === false) return;
    else $path=$value;
}
getPath搜索要修改的值。逻辑如下:

例如,我向函数
attributes->ids->first
发送一个路径,如果路径存在,该函数将搜索该对象(即,该对象有一个名为attributes的数组,该数组有一个名为ids的数组,该数组有一个名为first的键)。如果是,它将返回对该变量的引用,我将在下面对其进行更改。如果没有,则返回false,我的代码退出

问题是,我不知道如何检查
this->getPath
函数的返回值是否确实是引用,或者函数找不到路径,返回false。这样,如果我想要更改的变量的初始值为false,脚本将在
if($path==false)返回时退出零件


我如何检查
this->getPath
函数的返回值是引用还是其他什么?

您可以将getPath拆分为两个函数:第一个用于检查路径是否存在,另一个用于获取对路径的引用


或者您可以尝试以下解决方案:

拆分就是我使用的方式,它工作正常,谢谢:)