指定された数によって分離されたPHP配列

指定された数によって分離されたPHP配列

アレイは、アレイを想定している( '1'、 '2 '、 '3'、 '4'、 '5'、 '6'); それは4つに分割されたく、これは、
アレイは、(
'0' => [ ' 1 '' 2 ']、
' 1 '=> [' 3 '' 4 ']、。。。
' 2 '=> [' 5 ']、
' 3 '=> ['
6「]、。。);
HTTPS:/ /blog.csdn.net/justflyhigh/article/details/7708145
上記一部の記事の参照、達成された結果は、私のファンクション機能は、あなたが望むものではない場合、あなたは上記の記事を見て行くことができ、同じではありません。

/ * *
 * 
 *配列指定されたパーティションの数
 * @Param配列$配列の配列を分割します
 点の集合の* @Paramのint $ groupnumの数
 * /
関数splitArray($配列、$ groupnumの){
    IF(空($配列))リターンアレイ();
     // 配列の全長 
    $ allLength = COUNT($配列);
     // 番号 
    $ = groupnumのINTVAL($ groupnumの);
     // 剰余 
    $ゆう=(INT)(%$ allLength $ groupnumの);
     // 丸め 
    $鄭=(INT)(($ $ allLength-ゆう)/ $ groupnumの);
     // 結果セット 
    $結果= 配列();
     // 小さいアレイを計算する必要がある可能性がありいくつかの要素 
    $ S = 配列();
     IF($ゆう> 0 ){
         ための(I = $ 0; $ I <$ groupnumの。$私は++ ){            
            $ sの[$ i]を = $鄭;
            もし($ゆう> = 1 ){
               $ sの[$ i]は = $ S [$ I] + 1 ;
            }
            ゆう$ = $ yu- 1。;         
        }
    } {       
         戻りarray_chunk($配列、$鄭)。       
    }
    foreachの($ S として $ K => $ V){
       ため($ i = 0 ; $ iが$ V <; $ iは++ ){
        $結果[$ k]は[] = array_shift($配列)。
      }
    }
    戻ります$ result;
}

 

おすすめ

転載: www.cnblogs.com/bluealine/p/11666636.html