-
-
/** - * 配列を指定した番号で区切ります
- * @param array $array 分割する配列
- * @param int $groupNum 分割するグループの数
- */
- public function splitArray($array, $groupNum){
- if(empty($array)) return array();< ;/p>
//配列の全長
- $allLength = count($array);
//項目数
- $groupNum = intval($groupNum) ;< ;/p>
//開始位置
- $start = 0;
//分割された配列の要素数
- $enum = (int)($ allLength/ $groupNum);
//結果セット
- $result = array();
if($enum > 0){
- // Divided 配列内の要素数に均等に分割できる配列の部分
- $firstLength = $enum * $groupNum;
- $firstArray = array();
- for($i=0; $i<$firstLength ; $i++){
- array_push ($firstArray, $array[$i]);
- unset($array[$i]);
- }
- for($i=0; $i< ;p> //元の配列内の指定された開始位置と長さの要素を切り捨てて、新しい配列に入れます
- $result[] = array_slice($firstArray, $start, $enum);
- $start += $enum;
- }
- //配列の残りの部分が結果の最初のいくつかの項目に追加されますそれぞれ設定します
- $secondLength = $allLength - $firstLength;
- for ($i=0; $i array_push($result[$i], $array[$i + $firstLength]) ;
- }
- }else{
- for($i=0 ; $i $result[] = array_slice($array, $i, 1);
- }
- }
- return $result ;
- }
-
コードをコピー
|