如何使用php从其值获取变量名


How to get variable name from its value using php?

我有

$max = max($a, $b, $c);

的结果,比如30。我不知道哪个变量($a or $b or $c)给出的结果是30。从这个结果(30)我必须找到variable name

结果应该是$a or $b or $c .我怎么能找到这个??

说明:查找最大值只是一个例子。我需要从一组变量的值的变量名。

$max = max($a, $b, $c);
// Create an array so we can find the name for each variable we're checking
$var_array = array(
    '$a' => $a,
    '$b' => $b,
    '$c' => $c,
);
// Use the array search function to find our key: http://php.net/array_search
$max_var_name = array_search($max, $var_array, true);
$array = array('a'=> $a, 'b'=> $b, 'c'=> $c);
$maxs = array_keys($array, max($array));
$a = 30; $b=20; $c=40;
$arr[$a] = '$a'; $arr[$b] = '$b'; $arr[$c] = '$c';
echo 'max val='.$max = max($a, $b, $c);
echo 'var name='.$arr[$max];

我不是问你为什么?以下是我认为可行的解决方案

使用get_defined_vars()函数,它将返回数组中所有已定义的变量。然后用结果值(您想知道的变量)检查所有变量名的值。