用求余数的方法进行切割二维数组 [ 2.0 版本 ]
封装的方法如下:
/**
* 用求余数的方法进行切割二维数组
* @param array $arr 二维数组 [['12020202002'],['12121212210250250']]
* @param int $num 每个数组切割的数量
* @return array
*/
public static function arr_slice($arr=[],$num=5){
$temp = [];
$last = [];
$count = 0;
foreach ($arr as $k=>$v){
$count++;
if ($count%($num+1) != 0){
array_push($temp,$v[0]);
}else{
array_push($last,$temp);
$temp = [];
array_push($temp,$v[0]);
}
if ($count == count($arr)){
array_push($last,$temp);
}
}
return $last;
}
调用结果:
public function actionTest(){
$arr = [
['10200102022010'],
['10200102022011'],
['10200102022012'],
['10200102022013'],
['10200102022014'],
['10200102022015'],
['10200102022016'],
['10200102022017'],
['10200102022018'],
['10200102022019'],
['10200102022020'],
['10200102022021'],
['10200102022022'],
['10200102022023']
];
$last = self::arr_slice($arr,5);
var_dump($last);die;
}
如图:
JoeHandsome 北京
注册时间:2017-10-10
最后登录:2024-11-15
在线时长:55小时29分
最后登录:2024-11-15
在线时长:55小时29分
- 粉丝9
- 金钱38140
- 威望50
- 积分39190
共 3 条评论
有现成函数不用为啥要自己写。。
根据需求来做的
请问,这样做是要用在什么场景下呢?
另一个问题:原始的二维数组是不是从小到大排列呢?看你运行的结果集,似乎还有更为便捷的方式?
array_chunk()不行嘛