PHPのarray_chunk()
関数は、配列を、指定した配列要素数ごとに分割し、分割後の各配列を格納した多次元配列を返す組み込み関数。
分割後の最後の配列の要素数は、指定した配列要素数より少なくなることもある。
定義
配列型 array_chunk( 配列型 $input, 整数型 $size[, 論理値 $preserve_keys] );
パラメータ
- 配列型 $input
分割する配列。
- 整数型 $size
分割後の各配列の要素数。
分割後の最後の配列の要素数は、ここで指定した数より少なくなることもある。
- 論理値 $preserve_keys]
オプション。
キーと値の相関関係を維持したまま分割するかどうか。
「TRUE」を指定すると、キーと値の相関関係を維持したまま分割する。
「FALSE」を指定すると、新たに数値キーを割り当てる。
初期設定値は、「FALSE」。
戻り値
多次元配列。
分割後の各配列を格納した多次元配列。
構文
配列を分割
多次元配列 = array_chunk( 分割する配列, 分割要素数 );
「分割する配列」の配列を、「分割要素数」の要素数ごとに分割し、分割後の複数の配列を「多次元配列」に格納。
配列を、キーと値の相関関係を維持したまま分割
多次元配列 = array_chunk( 分割する配列, 分割要素数, TRUE );
「分割する配列」の配列を、「分割要素数」の要素数ごとに分割し、分割後の複数の配列を「多次元配列」に格納。
キーと値の相関関係を維持したまま分割する。
サンプル
配列を分割
数値キーを、新たに割り当てている点に注目。
<pre>
<?php
$varArrayA = array( '白', '黒', '赤', '青', '緑' );
$varArrayB = array_chunk( $varArrayA, 2 );
print_r( $varArrayB );
?>
</pre>
<?php
$varArrayA = array( '白', '黒', '赤', '青', '緑' );
$varArrayB = array_chunk( $varArrayA, 2 );
print_r( $varArrayB );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Array
(
[0] => 白
[1] => 黒
)
[1] => Array
(
[0] => 赤
[1] => 青
)
[2] => Array
(
[0] => 緑
)
)
(
[0] => Array
(
[0] => 白
[1] => 黒
)
[1] => Array
(
[0] => 赤
[1] => 青
)
[2] => Array
(
[0] => 緑
)
)
連想配列を、キーと値の相関関係を維持したまま分割
キーと値の相関関係を維持したままである点に注目。
<pre>
<?php
$varArrayA = array(
"white" => '白',
"black" => '黒',
"red" => '赤',
"blue" => '青',
"green" => '緑'
);
$varArrayB = array_chunk( $varArrayA, 2, TRUE );
print_r( $varArrayB );
?>
</pre>
<?php
$varArrayA = array(
"white" => '白',
"black" => '黒',
"red" => '赤',
"blue" => '青',
"green" => '緑'
);
$varArrayB = array_chunk( $varArrayA, 2, TRUE );
print_r( $varArrayB );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Array
(
[white] => 白
[black] => 黒
)
[1] => Array
(
[red] => 赤
[blue] => 青
)
[2] => Array
(
[green] => 緑
)
)
(
[0] => Array
(
[white] => 白
[black] => 黒
)
[1] => Array
(
[red] => 赤
[blue] => 青
)
[2] => Array
(
[green] => 緑
)
)