在PHP中,我如何获得在函数调用中传入的变量名


In PHP, how can I get the variable name that passed in in a function call?

trace($this->_classResources,'$this->_classResources');

如果我能得到"$this->_classResources",那么我不需要第二个参数。

你不能,也不应该。可能有一种不同的方法可以构建您的代码来解决这个问题。

function print_var_name($var) {
    foreach($GLOBALS as $var_name => $value) {
        if ($value === $var) {
            return $var_name;
        }
    }
    return false;
}

这个函数不会直接获取变量名,但它会扫描任何包含与您指定的值相同的变量名。如果您可以确保在函数中传递的值与所有其他值不同,那么它应该可以完成这项工作。蹩脚的方法是为将在此函数中传递的值设置前缀。进入函数后,只需使用substr跳过前缀部分。