おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

リストをn個ずつのサブリストに分割 (PHP)

前回Pythonでしたが、PHPの場合はもちろんそのものずばりの関数が用意されています。

15個の要素を3つずつに分割。

$ php -r 'print_r(array_chunk(range(0, 14), 3));'
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 1
            [2] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
            [2] => 5
        )

    [2] => Array
        (
            [0] => 6
            [1] => 7
            [2] => 8
        )

    [3] => Array
        (
            [0] => 9
            [1] => 10
            [2] => 11
        )

    [4] => Array
        (
            [0] => 12
            [1] => 13
            [2] => 14
        )
)

もちろん余りもちゃんとケアしてくれます。

php -r 'print_r(array_chunk(range(0, 10), 3));'
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 1
            [2] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
            [2] => 5
        )

    [2] => Array
        (
            [0] => 6
            [1] => 7
            [2] => 8
        )

    [3] => Array
        (
            [0] => 9
            [1] => 10
        )
)