【问题标题】:Get Highest number from array using for loop使用for循环从数组中获取最大数
【发布时间】:2015-03-01 21:49:44
【问题描述】:

我正在尝试从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 循环。有什么问题吗?

【问题讨论】:

  • $res = max($a); 不适合你?

标签: php max


【解决方案1】:

建议使用三元运算符

(条件)? (真实陈述):(虚假陈述);

    <?php
      $items = array(1, 44, 5, 6, 68, 9);
      $max = 0;
      foreach($items as $item) {
        $max = ($max < $item)?$item:$max;
      }
      echo $max;
    ?>

【讨论】:

    【解决方案2】:

    这应该适合你:

    <?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];
    
    }
    

    【讨论】:

    • 对不起,我必须使用 for 循环
    • @pawankumar 更新了我的答案,但是您的代码带有 for 循环,我向您展示了在哪里修复它,现在添加并举例说明它应该是什么样子
    • 我只需要最高单数(68)。
    • @pawankumar $res 等于 68 就是那个数字!用 echo 打印出来
    • for 循环外。回声 $res;我得到了答案。再次感谢
    【解决方案3】:

    您应该只从 $i

    <?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];
      }
    }
    ?>
    

    问题是你的循环在你的数组索引之后发生并且条件被颠倒了。

    【讨论】:

      【解决方案4】:

      max() 函数将完成您需要做的事情:

      $res = max($a);
      

      更多详情here.

      【讨论】:

      • 对不起,我正在使用 for 循环
      • 对不起。我错过了那一点。
      【解决方案5】:

      怎么样:

      <?php
          $res = max(array(1,44,5,6,68,9));
      

      (docs)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-09
        • 2019-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多