@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
)
)
|