我有以下變量:從PHP中的一組變量中查找最大整數?
$a = 100;
$b = 200;
$c = 300;
現在,我基本上希望能夠檢查$ A,$ B和$ C,並最終輸出類似值「$ c是300,因此是最大的「。
如何使用PHP實現此目的?
我有以下變量:從PHP中的一組變量中查找最大整數?
$a = 100;
$b = 200;
$c = 300;
現在,我基本上希望能夠檢查$ A,$ B和$ C,並最終輸出類似值「$ c是300,因此是最大的「。
如何使用PHP實現此目的?
這甚至負值工作:
$a = 100;
$b = 200;
$c = -300;
$max = max($a,$b,$c);
foreach(array('a','b','c') as $v) {
if ($$v == $max) {
echo "\$$v is $max and therefore the largest";
break;
}
}
輸出:
$b is 200 and therefore the largest
+1尼斯...可能略微劫持了這個問題..我試圖回答這個問題,並試圖使它儘可能動態 - 是否有可能使用變量'$ a'並將其名稱(即a)作爲字符串而不是使用'array('a','b','c')'?希望有道理? – ManseUK
@ManseUK:看看文檔http://php.net/get_defined_vars,但AFAK它並不總是工作http://stackoverflow.com/questions/255312/how-to-get-a-variable-名稱作爲一個字符串在PHP – Toto
將盡快嘗試。謝謝 :-) – michaelmcgurk
$a = 100;
$b = 200;
$c = 300;
$max = "a"
foreach(array("a","b","c") as $v){
if($$v > $$max)$max = $v;
}
echo "$max is $$max";
從'$ max ='行(第4行)錯過';',輸出是'c是$ c' - > http://codepad.org/d5LMDpOl – ManseUK
謝謝。我只是剛剛嘗試,並會回報:) – michaelmcgurk
只是爲了確認,這是否意味着我可以在我的輸出中使用$ a和$ b? – michaelmcgurk
嘗試這個
$arr=array("a"=>100,"b"=>200,"c"=>300);
$val = max($arr);
print_r(array_keys($arr, $val));echo "has maximum value ".$val;
該OP沒有一個關聯數組.... – ManseUK
$a = 100;
$b = 200;
$c = 300;
$values = compact('a', 'b', 'c');
arsort($values);
echo '$' . key($values) . ' is ' . current($values) . ' and therefore the largest';
我喜歡這個解決方案,因爲它非常整潔;絕對美學上一個很好的解決方案。不知道它將如何針對大量變量的其他解決方案執行。
我肯定會推薦你嘗試獲取初始值到一個數組而不是單獨的變量開始。
如果您的值在數組中,則更好。 – Alasdair