Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从一组变量中查找最大整数?_Php_Count_Integer - Fatal编程技术网

在PHP中从一组变量中查找最大整数?

在PHP中从一组变量中查找最大整数?,php,count,integer,Php,Count,Integer,我有以下变量: $a = 100; $b = 200; $c = 300; 现在,我基本上希望能够检查$a、$b和$c的值,并最终输出类似于“$c是300,因此是最大的” 如何使用PHP实现这一点?试试这个 $a = 100; $b = 200; $c = 300; $max = "a" foreach(array("a","b","c") as $v){ if($$v > $$max)$max = $v; } echo "$max is $$max"; $arr=array("a"=

我有以下变量:

$a = 100;
$b = 200;
$c = 300;
现在,我基本上希望能够检查$a、$b和$c的值,并最终输出类似于“$c是300,因此是最大的”

如何使用PHP实现这一点?

试试这个

$a = 100;
$b = 200;
$c = 300;
$max = "a"
foreach(array("a","b","c") as $v){
if($$v > $$max)$max = $v;
}
echo "$max is $$max";
$arr=array("a"=>100,"b"=>200,"c"=>300);

$val = max($arr);

print_r(array_keys($arr, $val));echo "has maximum value ".$val;
试试这个

$arr=array("a"=>100,"b"=>200,"c"=>300);

$val = max($arr);

print_r(array_keys($arr, $val));echo "has maximum value ".$val;

即使是负值,这也会起作用:

$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

即使是负值,这也会起作用:

$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
我喜欢这个解决方案,因为它非常简洁;从美学角度来说,这绝对是一个很好的解决方案。不确定在大量变量上,它与其他解决方案的性能如何

我绝对建议您尝试将初始值放入数组中,而不是从单独的变量开始

我喜欢这个解决方案,因为它非常简洁;从美学角度来说,这绝对是一个很好的解决方案。不确定在大量变量上,它与其他解决方案的性能如何


我绝对建议您尝试将初始值放入数组,而不是单独的变量。

如果您的值在数组中,则效果更好。如果您的值在数组中,则效果更好。
上遗漏了
$max=
行(第4行),您的输出是
c是$c
->谢谢。我刚才正在尝试,并将报告:)只是为了确认,这是否意味着我可以在输出中使用$a和$b?错过了
$max=
行(第4行),您的输出是
c是$c
->谢谢。我刚才正在尝试这个,并将报告:)只是为了确认,这是否意味着我可以在输出中使用$a和$b?+1很好。。。可能有点高了。。我试图回答这个问题,但在尝试使其尽可能动态化时失败了-是否可以使用变量
$a
并将其名称(即a)作为字符串,而不是使用
数组('a','b','c')
?希望这有意义?@ManseUK:看看医生,但是AFAK它不总是有效的,我们很快就会试试。谢谢:-)+1很好。。。可能有点高了。。我试图回答这个问题,但在尝试使其尽可能动态化时失败了-是否可以使用变量
$a
并将其名称(即a)作为字符串,而不是使用
数组('a','b','c')
?希望这有意义?@ManseUK:看看医生,但是AFAK它不总是有效的,我们很快就会试试。谢谢:-)