将相同的元素 x 次推送到数组上
基本上我需要创建这个数组(给定x = 3)
array('?','?','?');
我可以做
for($i=0;$i<3;$i++)
$arr[]='?';
但它并不那么优雅。还有其他方法吗?
基本上我需要创建这个数组(给定x = 3)
array('?','?','?');
我可以做
for($i=0;$i<3;$i++)
$arr[]='?';
但它并不那么优雅。还有其他方法吗?
为了解决如何将同一元素多次推送到数组上的问题,值得注意的是,虽然这当然是生成新数组的最优雅的选择,但这是它唯一能做的。它实际上不能将元素推送到现有数组上。array_fill()
因此,虽然基本循环不是特别令人兴奋,但在您有一个要添加到的现有数组的情况下,无论它是否已经是空的,它确实可以很好地工作。
$arr = ['a', 'a', 'a'];
for ($i = 0; $i < 3; $i++) {
$arr[] = 'b';
}
print_r($arr);
Array
(
[0] => a
[1] => a
[2] => a
[3] => b
[4] => b
[5] => b
)
要实现相同的目标,需要额外的合并:array_fill()
$arr = array_merge($arr, array_fill(0, 3, 'b'));