3 回答
TA贡献1789条经验 获得超10个赞
这将构建一个数组,其中第一个元素是单个值,第二个元素是另一个数组:
array($value1, array_fill(1, 2, 0))
也就是说,你得到这个:
[633, [0, 0]]
如果需要此输出:
[633, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0]
然后,您需要使用一堆单个值构建数组。您可以通过将多个数组发送到array_merge())来执行此操作,这将提取值,然后将它们全部堆叠在一个数组中:
$new = array_merge(
[$value1],
array_fill(1, 2, 0)
[$value2],
array_fill(4, 9, 0)
);
我不确定“逗号缺失”是什么意思。
TA贡献1844条经验 获得超8个赞
当你想要一个多维数组时,你正在制作一个多维数组。您正在使用具有您的数字的第一个值创建一个数组,第二个值是一个数组:array($value1, array_fill(1, 2, 0));
(
[0] => 633
[1] => Array
(
[1] => 0
[2] => 0
)
)
然后,数组合并会将这两个多维数组放在一起,得出您当前获得的结果。
您需要类似这样的东西:
$finalArray = array_merge(
[$value1],
array_fill(1, 2, 0)
[$value2],
array_fill(4, 9, 0)
);
另外,4应该是3吗?
TA贡献1828条经验 获得超13个赞
如果您使用的是 PHP 7.4,则还可以在创建前两个数组时解压缩结果。array_fill
$array1 = array($value1, ...array_fill(1, 2, 0)); $array2 = array($value2, ...array_fill(4, 9, 0));
然后,将按原样工作。array_merge
或者(除非你需要和其他东西),你可以用同样的方式构建最终的数组,而无需.$array1
$array2
array_merge
$finalArray = [$value1, ...array_fill(1, 2, 0), $value2, ...array_fill(4, 9, 0)];
如果您没有使用 PHP 7.4...没关系。:-)
- 3 回答
- 0 关注
- 85 浏览
添加回答
举报