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