PHP取出数组中的连续数字

这段PHP代码展示了如何从给定数组中找出并提取连续的数字序列。通过遍历数组,检查每个元素与其后一个元素的关系,如果它们是连续的,则将它们添加到连续数字的序列中。最后,将所有连续序列存储为一个二维数组并返回。示例输入包含[1, 2, 3, 4, 5, 6, 11, 23, 28, 29, 30, 31]等数字,输出为[[1, 2, 3, 4, 5, 6], [28, 29, 30, 31]]。
摘要由CSDN通过智能技术生成

PHP取出数组中的连续数字

<?php
$arr=[1, 2 ,3, 4, 5, 6, 11, 23, 28, 29, 30, 31];
//PHP找出其中连续的数字,可能不只一组连续的数字。
function getSeriesNum($arr){
    $series=[];//存储连续数的数组
    $seriesList=[];//存储连续数组成的数组
    $i=0;//一共有多少连续数组成的数组个数
    foreach ($arr as $k=> $v){
        //计算下一个元素
        $next=$v+1;
        //如果有连续数且下一个数存在数组中
        if($arr[$k+1]==$next){
            //追加数组
            array_push($series,$v,$next);
        }else{
            //如果不是连续数则清空数组重新存储连续数
            $series=[];
            $i++;
            continue;
        }
        //追加到二维数组
        $seriesList[$i]=array_unique($series);
    }
    //返回重新排列好的数组
    return array_values($seriesList);
}
print_r(getSeriesNum($arr));
?>

结果如下:
运行的结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值