3 回答

TA貢獻1789條經驗 獲得超10個贊
這將構建一個數(shù)組,其中第一個元素是單個值,第二個元素是另一個數(shù)組:
array($value1, array_fill(1, 2, 0))
也就是說,你得到這個:
[633, [0, 0]]
如果需要此輸出:
[633, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0]
然后,您需要使用一堆單個值構建數(shù)組。您可以通過將多個數(shù)組發(fā)送到array_merge())來執(zhí)行此操作,這將提取值,然后將它們全部堆疊在一個數(shù)組中:
$new = array_merge(
[$value1],
array_fill(1, 2, 0)
[$value2],
array_fill(4, 9, 0)
);
我不確定“逗號缺失”是什么意思。

TA貢獻1844條經驗 獲得超8個贊
當你想要一個多維數(shù)組時,你正在制作一個多維數(shù)組。您正在使用具有您的數(shù)字的第一個值創(chuàng)建一個數(shù)組,第二個值是一個數(shù)組:array($value1, array_fill(1, 2, 0));
(
[0] => 633
[1] => Array
(
[1] => 0
[2] => 0
)
)
然后,數(shù)組合并會將這兩個多維數(shù)組放在一起,得出您當前獲得的結果。
您需要類似這樣的東西:
$finalArray = array_merge(
[$value1],
array_fill(1, 2, 0)
[$value2],
array_fill(4, 9, 0)
);
另外,4應該是3嗎?

TA貢獻1828條經驗 獲得超13個贊
如果您使用的是 PHP 7.4,則還可以在創(chuàng)建前兩個數(shù)組時解壓縮結果。array_fill
$array1 = array($value1, ...array_fill(1, 2, 0)); $array2 = array($value2, ...array_fill(4, 9, 0));
然后,將按原樣工作。array_merge
或者(除非你需要和其他東西),你可以用同樣的方式構建最終的數(shù)組,而無需.$array1
$array2
array_merge
$finalArray = [$value1, ...array_fill(1, 2, 0), $value2, ...array_fill(4, 9, 0)];
如果您沒有使用 PHP 7.4...沒關系。:-)
- 3 回答
- 0 關注
- 118 瀏覽
添加回答
舉報