如何使用PHP从其值获取变量名称?

时间:2014-05-20 12:16:01

标签: php variables

我有

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

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

结果应为$a or $b or $c。我怎样才能找到这个?

注意:查找max只是一个示例case.I需要来自一组变量值的变量名。

4 个答案:

答案 0 :(得分:3)

$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);

答案 1 :(得分:3)

$array = array('a'=> $a, 'b'=> $b, 'c'=> $c);

$maxs = array_keys($array, max($array));

答案 2 :(得分:0)

$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];

答案 3 :(得分:-1)

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

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