我试图找出哪个变量更大(那些都是整数):
<?php
$ectoA=3;
$ectoB=5;
$mesoA=0;
$mesoB=4;
$endoA=11;
$endoB=11;
echo max($ectoA,$ectoB,$mesoA,$mesoB,$endoA,$endoB);
我尝试使用max但是它给出的值而不是$ varName。
我想得到变量的名称,如果有两个相等,我需要两个。
感谢您的帮助。
正如所建议的那样我尝试了这个并且工作但仍然知道我是否有两个MAX值我还需要做其他事情......
$confronto = [
'ectoA' => $ectoA,
'ectoB' => $ectoB,
'endoA' => $endoA,
'endoB' => $endoB,
'mesoA' => $mesoA,
'mesoB' => $mesoB,
];
$result= array_keys($confronto,max($confronto));
$neurotipo = $result[0];
echo $neurotipo;
我想要识别endoA和endoB ......
答案 0 :(得分:2)
您可以改为定义数组,或将变量压缩为数组:
//$array = array('ectoA'=>3,'ectoB'=>5,'mesoA'=>0,'mesoB'=>4,'endoA'=>11,'endoB'=>11);
$array = compact('ectoA','ectoB','mesoA','mesoB','endoA','endoB');
$result = array_keys($array, max($array));
然后计算该数组的max()
并使用array_keys()
搜索最大数字并返回密钥。
print_r($result);
收率:
Array
(
[0] => endoA
[1] => endoB
)
答案 1 :(得分:1)
我肯定会建议使用数组。然后你可以做这样的事情:
double
数组键的另一个选项是:
double result = setQuestions();
注意:代码未经过测试,但应该是需要完成的工作的要点
答案 2 :(得分:0)
像这样使用数组
<?php
$value= array (
"ectoA" =>3,
"ectoB"=>5,
"mesoA"=>0,
"mesoB"=>4,
"endoA"=>11,
"endoB"=>11);
$result= array_keys($value,max($values))
print_r($result);
?>
答案 3 :(得分:-2)
根据documentation,由于两个值相等,因此提供的顺序决定了结果 $ endoA是最大值。
但我不确定你的意图是找到最大的值或哪个变量是最高的
答案 4 :(得分:-2)
您的代码似乎是有效的。
但它会为您打印最大数字的值,而不是变量的名称。
要在末尾添加变量的名称,您应该添加一些额外的代码,例如:
$max = (max($ectoA,$ectoB,$mesoA,$mesoB,$endoA,$endoB);
if($max == $ectoA) echo "ectoA";
if($max == $ectoB) echo "ectoB";
// ... same goes for other variables
但使用数组是最合适的解决方案。