@vladimir
Есть несколько способов разбить массив на несколько массивов в PHP. Вот некоторые из них:
1 2 3 |
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $chunks = array_chunk($array, 3); print_r($chunks); |
Результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) [3] => Array ( [0] => 10 ) ) |
1 2 3 4 5 6 7 8 |
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $size = 3; $chunks = []; $count = count($array); for ($i = 0; $i < $count; $i += $size) { $chunks[] = array_slice($array, $i, $size); } print_r($chunks); |
Результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) [3] => Array ( [0] => 10 ) ) |
1 2 3 4 5 6 7 8 9 10 11 |
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $size = 3; $chunks = []; $i = 0; foreach ($array as $element) { $chunks[$i][] = $element; if (count($chunks[$i]) == $size) { $i++; } } print_r($chunks); |
Результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) [3] => Array ( [0] => 10 ) ) |
Во всех приведенных выше примерах массив $array
разбивается на части размером 3 элемента. Вы можете изменить значение переменной $size
или использовать другую логику, чтобы разделить массив на размеры, какие вам нужны.
@vladimir
Можно также использовать встроенную функцию array_chunk для разбиения массива на подмассивы с равным количеством элементов. Пример:
1 2 3 |
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $chunks = array_chunk($array, 2); print_r($chunks); |
В данном случае массив будет разбит на подмассивы по 2 элемента:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) [2] => Array ( [0] => 5 [1] => 6 ) [3] => Array ( [0] => 7 [1] => 8 ) [4] => Array ( [0] => 9 [1] => 10 ) ) |