2012-04-10 58 views
2

我有4个变量,每个都有一个整数分配给他们。任何人都可以让我知道如何获得具有最高价值的变量的名称?获取具有最高/最大值的变量的名称与PHP

在此先感谢。

+1

如何你分配这些值? – hjpotter92 2012-04-10 17:20:15

+0

为什么你想要变量的*名称*?如果你需要参与这种元编程,你可能做的很错。 – meagar 2012-04-10 17:27:17

回答

9

这里是你问的问题的解决方案:

$arr = compact('v1', 'v2', 'v3', 'v4'); 
arsort($arr); 
$name = key($arr); 
// get the value: ${$name} 

然而,具有存储在阵列摆在首位的变量会更有意义。一个更好的设置是:

$arr = array('v1' => 543, 'v2' => 41, 'v3' => 1, 'v4' => 931); 
arsort($arr); 
$name = key($arr); 
// get the value: $arr[$name] 
2

考虑四个变量:

$a = 1; 
$b = 3; 
$c = 4; 
$d = 2; 

您可以使用compact把它们变成一个关联数组:

$array = compact('a', 'b', 'c', 'd'); 
var_dump($array); // array('a' => 1, 'b', => 3, 'c' => 4, 'd' => 2); 

,然后找到的最大密钥/价值:

$max_key = $max_value = null; 

foreach ($array as $key => $value) { 
    if (is_null($max_value) || $value > $max_value) { 
    $max_key = $key; $max_value = $value; 
    } 
} 
相关问题