创建x个阵列副本


create x number of copies of array

我在这里寻找的更多的是指导,而不是实际的代码。我已经知道我该怎么做了;只是想知道是否有更好的方法。

我有一个变量$x,它是一个整数。可以是任何数字。我有一个数组,$items

$items = Array('qty'=>3, 'name'=>'pizza');

我想创建$items$x副本,每个副本都将成为一个名为$newItems的新数组的"子数组"。

我知道我可以做这样的for循环:

for($i=1;$1<=$x,$i++) {
   $newItems[$x] = $items;
}

有更好的方法吗?(这个例子被简化了,所以如果只是这样的话,执行循环就不会有问题。但实际上,我有一个名为$menu的父数组,它有多个$menu_items节点,所以我已经在执行foreach($menu_items as $id->$items),然后需要将上面的循环嵌套在其中。)。如果有一个我不知道的函数,我可以说"制作这个数组的$x副本",那就太好了。

使用array_fill()

$newItems = array_fill(0, $x, $items);