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