我有
$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()函数,它将返回数组中所有已定义的变量。然后用结果值(您想知道的变量)检查所有变量名的值。