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);
    ?>
php
本作品采用《CC 协议》,转载必须注明作者和本文链接
最美的不是下雨天,而是和你一起躲过的屋檐!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

$max = max($arr)

$after = array_flip($arr)

unset($after[$max])

$arr = array_flip($after)

3年前 评论
licxisky 3年前
德国科隆街头的大胡子 2年前
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);

和你的第一种是一个思路

3年前 评论

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