для цикла — php заполнение зубчатого массива 3 столбца 3 строки

У меня есть этот массив (мои результаты из базы данных)

$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',' ',' ']
];

Как мне это сделать?

0

Решение

array_chunk будет в основном делать работу,

$kb = array_chunk($nums, 3);

но он не заполнит окончательный подмассив пробелами, если входной массив не разделится равномерно.
т.е. array_chunk как будет производить:

$kb = [
['one','two','three'],
['four']
];

а не желаемый результат.

Вы можете объединить последний элемент с массивом пробелов, чтобы исправить это.

$kb[count($kb)-1] = end($kb) + ['','',''];

(Это можно выполнить безоговорочно; если входной массив делает разделите равномерно, это ничего не изменит.)

3

Другие решения

Вам нужно использовать array_chunk () метод

$nums = array("one","two","three","four");

$nums = array_chunk($nums, 3);
2

По вопросам рекламы [email protected]