Содержание
(PHP 4 >= 4.2.0, PHP 5)
array_chunk — Разбить массив на части
Описание array array_chunk ( array input, integer size [, bool preserve_keys] )
Функция array_chunk() разбивает массив на несколько массивов размером размер значений. Последний массив из полученных может содержать меньшее количество значений, чем указано. В качестве результата функция возвращает многомерный массив с индексами, начинающимися с нуля и элементами, которыми являются массивы, полученные в результате разбивки.
Если вы передадите значение TRUE в качестве необязательного параметра preserve_keys , PHP сохранит ключи из исходного массива. Если значение этого параметра равно FALSE , элементы результирующих массивов будут проиндексированы числами, начиная с нуля. По умолчанию используется значение FALSE .
Пример 1. Пример использования array_chunk()
$input_array = array(‘a’, ‘b’, ‘c’, ‘d’, ‘e’); print_r(array_chunk($input_array, 2)); print_r(array_chunk($input_array, 2, TRUE)); |
Результатом выполнения вышеприведенной программы будет:
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) ) Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [2] => c [3] => d ) [2] => Array ( [4] => e ) )
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
array_chunk — Разбивает массив на части
Описание
Разбивает массив на несколько массивов размером в size элементов. Последний массив из полученных может содержать меньшее количество значений, чем указано в size .
Список параметров
Размер каждой части
Если установлено в TRUE , ключи оригинального массива будут сохранены. По умолчанию установлено в FALSE , что переиндексирует каждую часть с числовыми ключами
Возвращаемые значения
Возвращает многомерный массив с числовыми индексами, начинающимися с нуля, каждый элемент которого содержит size элементов из оригинального массива.
Ошибки
Если size меньше 1, будет сгенерирована ошибка уровня E_WARNING и возвращен NULL .
Примеры
Пример #1 Пример использования array_chunk()
У меня есть массив, который начинается с определенного индекса, всегда будет 43 первый индекс, после этого у меня есть информация, и я хотел бы разделить его на 2 после нахождения значения products но не всегда ценность products будет индекс 64, он будет отличаться каждый раз.
Поэтому я попытался это найти индекс, где стоимость продуктов
Таким образом, я могу найти индекс, где я хотел бы разбить массив на 2, но я понятия не имею, как, я пытался с array_chunk но я не мог заставить это работать
Это мой оригинальный массив:
И я хотел бы что-то вроде этого:
Также без индекса значения products , у вас есть идея, какую функцию я могу использовать для достижения того или иного способа сделать это? Я надеюсь, что вы можете мне помочь, спасибо.
Решение
Почти, array_chunk() делает несколько кусков вместо того, чтобы вы хотите ломтик массив из двух частей по заданному ключу, это можно сделать с помощью array_slice()