【问题标题】:MAX & MIN values on array using PHP使用 PHP 的数组上的 MAX 和 MIN 值
【发布时间】:2010-09-20 02:00:17
【问题描述】:

有谁知道如何获取 PHP 中第 2 列和第 3 列的最大值和最小值?

$ar = array(array(1,  10,   9.0,   'HELLO'),
            array(1,  11,  12.9,   'HELLO'),
            array(3,  12,  10.9,   'HELLO'));

输出应该是这样的:

最大(12.9) 分钟(10)

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    另一种选择

    <?php
    
    function array_rotate( $array )
    {
        $rotated = array();
        foreach ( $array as $rowIndex => $col )
        {
            foreach ( $col as $colIndex => $value )
            {
                $rotated[$colIndex][$rowIndex] = $value;
            }
        }
        return $rotated;
    }
    
    $ar = array(array(1,  10,   9.0,   'HELLO'),
                array(1,  11,  12.9,   'HELLO'),
                array(3,  12,  10.9,   'HELLO'));
    
    $ar = array_rotate( $ar );
    
    echo max( $ar[2] ), "\n", min( $ar[1] );
    

    【讨论】:

      【解决方案2】:
      <?php
      $ar = array(array(1,  10,   9.0,   'HELLO'),
                  array(1,  11,  12.9,   'HELLO'),
                  array(3,  12,  10.9,   'HELLO'));
      function col($tbl,$col){
          $ret = array();
          foreach ($tbl as $row){
              $ret[count($ret)+1] = $row[$col];
          }
          return $ret;
      }
      print (max(col($ar,2))."\n");
      print (min(col($ar,1))."\n");
      ?>
      

      这就是你要找的吗?我想这不是最有效的方法。

      【讨论】:

      • 我想评论一下,除非您有一个完全矩形的二维数组,否则这种方法可能会中断。作为输入。
      • 你为什么要这样做 $ret[count($ret)+1] = $row[$col]; $ret[] = $row[$col]; 有什么问题
      • tom:我只是尝试在 $ret 数组的最后添加元素。我不知道 $ret[] 表示法 :D BaileyP: 不确定中断条件是什么 - 输入数组有 3 个元素,每个元素都是一个 4 元素数组。
      猜你喜欢
      • 2017-08-07
      • 2020-08-11
      • 2011-06-26
      • 1970-01-01
      • 2010-09-24
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      相关资源
      最近更新 更多