<?php /* * * 把一个数组分成几个数组 * $arr 数组 * $num 获取的数量 * */ function sliceArr($arr, $num) { //数组的个数 $listcount = count($arr); /*if($listcount < $num){ //数组总数不能少于需要获取的数量 return []; }*/ $num = $listcount < $num ? $listcount:$num; //分成$num 个数组每一个数组是多少个元素 $parem = floor($listcount / $num); //分成$num 个数组还余多少个元素 $paremm = $listcount % $num; $start = 0; $new_array = []; for ($i = 0; $i < $num; $i++) { $end = $i < $paremm ? $parem + 1 : $parem; $new_array[$i] = array_slice($arr, $start, $end); $start = $start + $end; } return $new_array; } $arr = array(1, 3, 4,5,6,7,8,9,10); echo '<pre>'; print_r(sliceArr($arr, 4)); die;