array_chunk — Разбивает массив на части PHP

По разным причинам может потребоваться разбить массив на несколько новых, для этого можно воспользоваться встроенной функцией в php — array_chunk.

Поддерживаемые версии (PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

Принимаемые параметры:

  1. Обрабатываемый массив — массив;
  2. Размер каждой части — числовой;
  3. Сохранение ключей исходного массива — булев тип, по умолчанию 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
        )

)

Добавить комментарий

Ваш адрес email не будет опубликован.