php数组删除最大值的两种方法

1、遍历数组,使用unset()删除最大的元素

  • 使用foreach遍历数组
  • 在循环体中,找到最大值的元素
  • 使用unset()删除该元素
    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr=array(1,45,9,52,0,-5,21,-1,40);
    var_dump($arr);
    $max=max($arr);
    echo "最大值为:".$max;
    foreach($arr as $k=>$v){
    if($v==$max){
        unset($arr[$k]);
    }
    }
    echo "<br><br>删除最大值后:";
    var_dump($arr);
    

2、对数组进行升序排序,用array_pop()删除最大的元素

  • 使用sort() 对数组进行升序排序
  • 排序后该数组的最后一个元素就是最大值,只需使用array_pop() 删除即可。
    array_pop():删除数组中的最后一个元素。
    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr=array(1,45,9,52,0,-5,21,-1,40);
    var_dump($arr);
    sort($arr);
    var_dump($arr);
    array_pop($arr);        //去掉最大值
    var_dump($arr);
    ?>
本作品采用《CC 协议》,转载必须注明作者和本文链接
最美的不是下雨天,而是和你一起躲过的屋檐!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

$max = max($arr)

$after = array_flip($arr)

unset($after[$max])

$arr = array_flip($after)

1年前 评论
licxisky 1年前
德国科隆街头的大胡子 1年前
chowjiawei
$array=[1,2,3,4,5,5];
$maxNumber=max($array);
while (true) {
      if(max($array)==$maxNumber){
            unset(max($array));
      }else{
            break;
      }                
}
$newArray=array_values($array);

和你的第一种是一个思路

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!