PHP在变量之间找到最大值

时间:2017-06-07 14:51:25

标签: php

我试图找出哪个变量更大(那些都是整数):

<?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 ......

5 个答案:

答案 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

但使用数组是最合适的解决方案。