<?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;