php 填充锯齿状数组 3 列 3 行
php filling jagged array 3 columns 3 rows
我有这个数组(我的数据库结果)
$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()方法
$nums = array("one","two","three","four");
$nums = array_chunk($nums, 3);
array_chunk
将主要完成工作,
$kb = array_chunk($nums, 3);
但如果输入数组没有均匀划分,它不会用空白填充最后的 sub-array。
即,array_chunk
as-is 将产生:
$kb = [
['one','two','three'],
['four']
];
而不是你想要的输出。
您可以将最后一项与空白数组合并来解决这个问题。
$kb[count($kb)-1] = end($kb) + ['','',''];
(可以无条件执行;如果输入数组 确实 均分,它不会改变任何东西。)
我有这个数组(我的数据库结果)
$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()方法
$nums = array("one","two","three","four");
$nums = array_chunk($nums, 3);
array_chunk
将主要完成工作,
$kb = array_chunk($nums, 3);
但如果输入数组没有均匀划分,它不会用空白填充最后的 sub-array。
即,array_chunk
as-is 将产生:
$kb = [
['one','two','three'],
['four']
];
而不是你想要的输出。
您可以将最后一项与空白数组合并来解决这个问题。
$kb[count($kb)-1] = end($kb) + ['','',''];
(可以无条件执行;如果输入数组 确实 均分,它不会改变任何东西。)