PHP判断数字连续性,且按n~m,x,z方式显示

来源:互联网 发布:软件注册权 编辑:程序博客网 时间:2024/05/19 12:16

项目有个需求:用户选择数字后,按规律性排序

$pp='1,2,3,5,7,8,9,10,12,13,15,16,17,19,20,21';$st=explode(',', $pp);$i=$st[0];$j='';$m='';foreach ($st as $key=>$var){    if ($i==$var) {        continue;    }    $n=$key-1;    if (($var-$st[$n])==1) {        $m=$var;        continue;    }    if ($i!=$st[$n]){        $j.=$i.'-'.$st[$n].',';    }else{        $j.=$i.',';    }    $i=$var;}if ($i>$m){    $j.=$i;}else{    $j.=$i.'-'.$m; }echo $j;

输出结果:1-3,5,7-10,12-13,15-17,19-21

原创粉丝点击