2012-04-10 10 views
2

私は4つの変数を持ち、それぞれに整数が割り当てられています。誰でも最高の価値を持つ変数の名前をどのように得ることができるか教えてください。PHPで最大/最大値を持つ変数の名前を取得

ありがとうございます。

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

をしかし、最初の場所で配列に格納された変数は、より理にかなって持つ:ここでは

+1

あなたはそれらの値を割り当てますか? – hjpotter92

+0

なぜ変数の*名前*が必要ですか?この種のメタプログラミングに従事する必要がある場合は、おそらく非常に間違ったことをしているでしょう。 – meagar

答えて

9

は、あなたが尋ねた質問へのソリューションです。より良いセットアップは次のようになります。

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

考える4つの変数:

$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; 
    } 
} 
関連する問題