ラボ > PHP:配列関連

php 配列を分割する(array_chunk())

配列で10個の要素を2等分や3等分にしたい。

作成日:2018-05-21, 更新日:2018-08-31

基本

「配列」を「要素数」で分割する

array_chunk(配列, 要素数)

・「10個あるものを2個ずつにする」って感じ。
・「10個あるものを2等分にする」ってしたいなら計算して「10個あるものを5個ずつにする」ってする。

サンプル:5つの要素からなる配列を2個ずつに分割

$ary = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($ary, 2));

// Array (
//     [0] => Array (
//             [0] => a
//             [1] => b
//         )
//     [1] => Array (
//             [0] => c
//             [1] => d
//         )
//     [2] => Array (
//             [0] => e
//         )
// )

※添え字の降りなおしが行われる

添え字を降りなおさない

第3引数で「true」を指定。

$ary = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($ary, 2, true));

// Array (
//     [0] => Array (
//             [0] => a
//             [1] => b
//         )
//     [1] => Array (
//             [2] => c
//             [3] => d
//         )
//     [2] => Array (
//             [4] => e
//         )
// )