我試圖將我附加到僅包含數字的變量的文本。我查了一下,找不到任何可行的或甚至接近我想要做的事情。下面是我在尋找:從包含數字的變量中分離字符串php
$winning = max(array($var1."Var_One", $var2."Var_Two", $var3."Var_Tree", $var4."Var_Four"));
$winning = {the function that I'm missing}
我想找到附帶的最高值變量的字符串,然後用它在開關的情況下,例如:
switch ($winning) {
case "Var_One":
echo "This variable is the highest value.";
break;
case "Var_Two":
echo "This variable is the highest value.";
break;
case "Var_Three":
echo "This variable is the highest value.";
break;
default:
echo "Values are tied.";
}
我試着使用正常的解決方案,不工作和strpos不會做我需要的。
任何幫助表示讚賞。
答:
function getMaxValue(array $list) {
$result = [];
foreach($list as $k => $v) {
if(!isset($result["value"]) || $result["value"] < $v) {
$result = [
"value" => $v,
"key" => $k,
];
}
}
return $result;
}
$winning = ["Var_One" => $var1, "Var_Two" => $var2, "Var_Three" => $var3];
$winning = getMaxValue($winning);
if(strpos($winning,'Var_One') !== false) {
echo "Var_One is currently winning by ".$var1."!";
} else if(strpos($winning,'Var_Two') !== false) {
echo "Var_Two is currently winning by ".$var2."!";
} else if(strpos($winning,'Var_Three') !== false) {
echo "Var_Three is currently winning by ".$var3."!";
} else {
echo "Tie.";
}
所以你正在尋找的函數必須返回基於'$ varX'變量的數組的最大值? – ojovirtual 2014-11-04 12:19:02
我不完全確定你爲什麼要這樣做。爲什麼不把文本放在數組鍵和變量中?那麼你可能會避免這個問題。 – Erik 2014-11-04 12:25:01
是的。 max()對我來說工作正常,但我似乎無法隔離我附加到varX變量的字符串。 – JustSomeGuy 2014-11-04 12:25:52