使用for循环从数组中获取最大数字
Get Highest number from array using for loop
我正在尝试从 array
中获取最高数字。但没有得到它。我必须使用 for
循环从数组中获取最大数字。
<?php
$a =array(1, 44, 5, 6, 68, 9);
$res=$a[0];
for($i=0; $i<=count($a); $i++){
if($res>$a[$i]){
$res=$a[$i];
}
}
?>
我必须像上面解释的那样使用 for
循环。有什么问题吗?
怎么样:
<?php
$res = max(array(1,44,5,6,68,9));
(docs)
这应该适合你:
<?php
$a = array(1, 44, 5, 6, 68, 9);
$res = 0;
foreach($a as $v) {
if($res < $v)
$res = $v;
}
echo $res;
?>
输出:
68
在您的示例中,您只是做错了两件事:
$a = array(1, 44, 5, 6, 68, 9);
$res = $a[0];
for($i = 0; $i <= count($a); $i++) {
//^ equal is too much gives you an offset!
if($res > $a[$i]){
//^ Wrong condition change it to <
$res=$a[$i];
}
}
编辑:
使用 for 循环:
$a = array(1, 44, 5, 6, 68, 9);
$res = 0;
for($count = 0; $count < count($a); $count++) {
if($res < $a[$count])
$res = $a[$count];
}
max()
函数将执行您需要执行的操作:
$res = max($a);
更多详情here。
你应该只从 $i<=count 中删除 = 所以它应该是
<?php $a =array(1,44,5,6,68,9);
$res=$a[0];
for($i=0;$i<count($a);$i++){
if($res<$a[$i]){
$res=$a[$i];
}
}
?>
问题是你的循环在你的数组索引之后进行并且条件相反。
建议使用三元运算符
(条件)? (真实陈述):(虚假陈述);
<?php
$items = array(1, 44, 5, 6, 68, 9);
$max = 0;
foreach($items as $item) {
$max = ($max < $item)?$item:$max;
}
echo $max;
?>
我正在尝试从 array
中获取最高数字。但没有得到它。我必须使用 for
循环从数组中获取最大数字。
<?php
$a =array(1, 44, 5, 6, 68, 9);
$res=$a[0];
for($i=0; $i<=count($a); $i++){
if($res>$a[$i]){
$res=$a[$i];
}
}
?>
我必须像上面解释的那样使用 for
循环。有什么问题吗?
怎么样:
<?php
$res = max(array(1,44,5,6,68,9));
(docs)
这应该适合你:
<?php
$a = array(1, 44, 5, 6, 68, 9);
$res = 0;
foreach($a as $v) {
if($res < $v)
$res = $v;
}
echo $res;
?>
输出:
68
在您的示例中,您只是做错了两件事:
$a = array(1, 44, 5, 6, 68, 9);
$res = $a[0];
for($i = 0; $i <= count($a); $i++) {
//^ equal is too much gives you an offset!
if($res > $a[$i]){
//^ Wrong condition change it to <
$res=$a[$i];
}
}
编辑:
使用 for 循环:
$a = array(1, 44, 5, 6, 68, 9);
$res = 0;
for($count = 0; $count < count($a); $count++) {
if($res < $a[$count])
$res = $a[$count];
}
max()
函数将执行您需要执行的操作:
$res = max($a);
更多详情here。
你应该只从 $i<=count 中删除 = 所以它应该是
<?php $a =array(1,44,5,6,68,9);
$res=$a[0];
for($i=0;$i<count($a);$i++){
if($res<$a[$i]){
$res=$a[$i];
}
}
?>
问题是你的循环在你的数组索引之后进行并且条件相反。
建议使用三元运算符
(条件)? (真实陈述):(虚假陈述);
<?php
$items = array(1, 44, 5, 6, 68, 9);
$max = 0;
foreach($items as $item) {
$max = ($max < $item)?$item:$max;
}
echo $max;
?>