У меня есть этот массив (мои результаты из базы данных)
$nums = array("one","two","three",....,"nine");
или же
$nums = array("one","two","three","four");
и я хочу заполнить зубчатый массив этими значениями.
Мой неровный массив должен быть таким:
$kb = [
['one','two','three'],
['four','five','six'],
['seven','eight','nine']
];
или же
$kb = [
['one','two','three'],
['four',' ',' ']
];
Как мне это сделать?
array_chunk
будет в основном делать работу,
$kb = array_chunk($nums, 3);
но он не заполнит окончательный подмассив пробелами, если входной массив не разделится равномерно.
т.е. array_chunk
как будет производить:
$kb = [
['one','two','three'],
['four']
];
а не желаемый результат.
Вы можете объединить последний элемент с массивом пробелов, чтобы исправить это.
$kb[count($kb)-1] = end($kb) + ['','',''];
(Это можно выполнить безоговорочно; если входной массив делает разделите равномерно, это ничего не изменит.)
Вам нужно использовать array_chunk () метод
$nums = array("one","two","three","four");
$nums = array_chunk($nums, 3);