array_chunk — Разбивает массив на части PHP
По разным причинам может потребоваться разбить массив на несколько новых, для этого можно воспользоваться встроенной функцией в php — array_chunk.
Поддерживаемые версии (PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
Принимаемые параметры:
- Обрабатываемый массив — массив;
- Размер каждой части — числовой;
- Сохранение ключей исходного массива — булев тип, по умолчанию false, что приведет к переиндексации массива с числовыми ключами. Если передать true, то ключи исходного массива будут сохранены.
Возвращаемые значения:
Возвращает многомерный массив с числовыми индексами, начинающимися с нуля, каждый элемент содержит количество элементов, переданное во втором параметре, последний массив будет содержать остаточные значения, которые могут оказаться меньше указанной длины во втором параметре.
Ошибки:
Генерирует ошибку уровня E_WARNING и возвращает null, если второй параметр меньше 1.
Примеры использования:
Вариант с переиндексацией ключей:
$start_array = array('1_element', '2_element', '3_element', '4_element', '5_element'); print_r(array_chunk($start_array, 2));
Результат выполнения:
Array ( [0] => Array ( [0] => 1_element [1] => 2_element ) [1] => Array ( [0] => 3_element [1] => 4_element ) [2] => Array ( [0] => 5_element ) )
Вариант без переиндексации ключей:
$start_array = array('1_element', '2_element', '3_element', '4_element', '5_element'); print_r(array_chunk($start_array, 2, true));
Результат выполнения:
Array ( [0] => Array ( [0] => 1_element [1] => 2_element ) [1] => Array ( [2] => 3_element [3] => 4_element ) [2] => Array ( [4] => 5_element ) )
Еще один пример без переиндексации ключей:
<?php $start_array = array(3 => '1_element', 4 => '2_element', 5 => '3_element', 8 => '4_element', 15 => '5_element'); print_r(array_chunk($start_array, 2, true)); ?>
Результат выполнения:
Array ( [0] => Array ( [3] => 1_element [4] => 2_element ) [1] => Array ( [5] => 3_element [8] => 4_element ) [2] => Array ( [15] => 5_element ) )