PHP array_merge覆盖自身

时间:2019-04-03 07:10:00

标签: php arrays

我正在努力array_merge制作一系列商品。我拥有的代码:

$items = [];
foreach ($products as $product) {
    Log::info($product->orderproduct->idorder_product);

    $items = array_merge($items, [
       'id'          => $product->orderproduct->idorder_product
    ]);
}
Log::info(print_r($items, true));

输出为:

6
7
['id' => 7]

如何创建具有两个ID的数组?

2 个答案:

答案 0 :(得分:4)

不确定您希望得到什么结果,因此有两种选择:

foreach ($products as $product) {
    Log::info($product->orderproduct->idorder_product);

    // First
    $items[] = $product->orderproduct->idorder_product;
    // Second
    $items[] = ['id' => $product->orderproduct->idorder_product];
}

答案 1 :(得分:0)

数组合并只是添加到数组底部的另一个数组。 我认为您在想要获得的结果上误导了我们。

$items = array(); / $items = [];

您可以通过此代码轻松将数据推入数组

$items[] = array(
 'id' => $product->orderproduct->idorder_product,
)