SYNCER

SYNCER

array_chunk() - 配列を複数の配列に分割する

公開日:

array_chunkは配列を分割する関数です。配列を指定した要素数を持つ複数の配列に分けます。

構文

array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )

パラメータ

$array

対象の配列。

$size

分割後の各配列の最大要素数。

$preserve_keys

初期値: false

キーが数値の場合、保持するか。デフォルトでは保持しない。

返り値

array

分割してできた配列を全て含んだ1つの配列。

サンプルコード

配列を分割する

要素数が5の配列を、要素数が2の配列に分割します。2、2、1、と3つの配列に分割されます。

php

<?php
	// 配列
	$queue = [ "a", "b", "c", "d", "e" ] ;

	// 実行
	$result = array_chunk( $queue, 2 ) ;

	// 返り値
	print_r( $result ) ;

結果 (出力内容) - PHP7.0.21

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)

キーを保持する

通常キーの数値は、分割されたそれぞれの配列の中で0から新しく割り振られてしまいます。第3引数にtrueを指定することで、元の配列のキーの数値を保持できます。

php

<?php
	// 配列
	$queue = [ "a", "b", "c", "d", "e" ] ;

	// 実行
	$result = array_chunk( $queue, 2, true ) ;

	// 返り値
	print_r( $result ) ;

結果 (出力内容) - PHP7.0.21

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

サンドボックス

ソースコードを編集してarray_chunk()の挙動を確認して下さい。

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)

参考リンク

  • PHP - 公式マニュアル。