2012-04-10 56 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; 
    } 
} 
相關問題