php 計算數組最大最小值 大神進
怪我咯
怪我咯 2017-05-18 10:46:03
0
6
783

#這樣的陣列 如何 計算出 最大值 最小值

一眼可以看出最小值是 0 最大值是 459 但是怎麼 用php算出來尼

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆 (6)
小葫芦

1.轉換成一維數組,分別用min和max求最小和最大

function getMaxAndMin($items){ $newItems=[]; $cutStr=',';//要分割的字符 foreach($items as $item) { //保证是String并且包含',' if(is_string($item) && strpos($item,$cutStr)!==false) { list($t1,$t2)=explode(',',$item) $newItems[]=$t1; $newItems[]=$t2; }else{ $newItems[]=$item; } } return [min($newItems),max($newItems)]; } $exampleArr=[ '0,129', '130,249', '250,459' ]; list($min,$max)=getMaxAndMin($exampleArr);

補充一個樓下的方案,更簡單
@jacoob_w

function getMaxAndMin($items,$operator=',') { $data = explode($operator, join($operator,$data)); return [min($data),max($data)]; }
    伊谢尔伦

    雷雷

      仅有的幸福

      1.你可以手動去實作演算法,不過效能可想而知
      2.建議使用PHP內建函數:http://php.net/manual/zh/func...

        世界只因有你
        $arr = array( '0,129', '130,249', '250,459', ); $mix = intval($arr[0]); $max = explode(',', end($arr))[1];

        結合實際情況使用
        因為見到題主還有其他的問題,認定他的數據結構就是這樣,大小從上至下增加

          我想大声告诉你

          這麼快就採納答案了,個人覺得採納的不是最優方案呀。

          $data = array( '0,129', '130,249', '380,22' ); $dataArr = explode(',', join(',',$data)); echo "max:".max($dataArr)."
          "; echo "min:".min($dataArr);
            phpcn_u1582

            雷雷

              最新下載
              更多>
              網站特效
              網站源碼
              網站素材
              前端模板
              關於我們 免責聲明 Sitemap
              PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!