php - 关于数组排序问题,相同值不能连续出现三次。
本文介绍了php - 关于数组排序问题,相同值不能连续出现三次。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题,重排后的数组,相同值不能连续出现三次。
$arr = array(1,1,1,2,2,2,3,3,3,3);
在线等!!!
解决方案
计数器的方式:
<?php
$arr = array(1,1,1,2,2,2,3,3,3,3,4,5,6,6,6);
function fsort($ss){
$result = array($ss[0]);
$overage = array();
$num = 1;
for($i=1, $len=count($ss); $i<$len; $i++){
if( $ss[$i]==$ss[$i-1] ){
if( $num<2 ){
$result[] = $ss[$i];
$num++;
}else{
$overage[] = $ss[$i];
}
}else{
$result[] = $ss[$i];
$num=1;
}
}
return array_merge($result, $overage);
}
echo "<pre>";
print_r( fsort($arr) );
如果你能把问题说清楚,就没这么麻烦了。
这篇关于php - 关于数组排序问题,相同值不能连续出现三次。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文