简体   繁体   English

PHP-如何获取函数传递的变量名和数组键

[英]PHP - How to get variable name + array key passed by a function

Array with keys: 带键的数组:

$foo = array('id' => '123');

When I call this function: 当我调用此函数时:

printVarNameAndKey($foo['id']);

Print out: 打印:

$foo['id']

Is this possible in PHP? 这在PHP中可行吗?

EDIT 编辑

This code does not work: 此代码不起作用:

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

    return false;
}

$GLOBALS is not a super-global, you may update your code to look like $ GLOBALS不是一个超级全局变量,您可以将代码更新为

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

    return false;
}

but as @jeroen said, a value does not uniquely identify a variable. 但是正如@jeroen所说,值不能唯一地标识变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM