您的位置:首页 > 编程语言 > PHP开发

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

2013-11-09 11:04 429 查看
项目有个需求:用户选择数字后,按规律性排序

$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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php function