php中的array_merge问题

问题描述 投票:0回答:1

我在使用array_merge函数处理数组时遇到一些问题。这是一个示例:

$first_array = [
    8 => [
        'name' => "Hershey's Chocolate Milk Shake",
        'code' => 8 ,
        'price' => 29.00,
        'quantity' => 1,
        'image' => "Hersheys_Chocolate_Milk_Shake.jpg",
        'percentage_discount' => 0,
        'offer_mrp' => 0,
    ]
];
$second_array = [
    20 => [
        'name' => 'Kissan Mixed Fruit Jam 700g',
        'code' => 20,
        'price' => 215.00,
        'quantity' => 1,
        'image' => 'Kissan Mixed Fruit Jam 700g.jpg',
        'percentage_discount' => 0,
        'offer_mrp' => 0 
    ]
];

$first_array = array_merge($first_array, $second_array); 
print_r($first_array);

结果是:

Array ( 
    [0] => Array ( 
        [name] => Hershey's Chocolate Milk Shake 
        [code] => 8 
        [price] => 29.00 
        [quantity] => 1 
        [image] => Hersheys_Chocolate_Milk_Shake.jpg 
        [percentage_discount] => 0 
        [offer_mrp] => 0
    ) 
    [1] => Array ( 
        [name] => Kissan Mixed Fruit Jam 700g 
        [code] => 20 
        [price] => 215.00 
        [quantity] => 1 
        [image] => Kissan Mixed Fruit Jam 700g.jpg 
        [percentage_discount] => 0 [offer_mrp] => 0 
    ) 
);

但是我希望它是:

Array ( 
    [8] => Array ( 
        [name] => Hershey's Chocolate Milk Shake 
        [code] => 8 
        [price] => 29.00 
        [quantity] => 1 
        [image] => Hersheys_Chocolate_Milk_Shake.jpg 
        [percentage_discount] => 0 
        [offer_mrp] => 0
    ) 
    [20] => Array ( 
        [name] => Kissan Mixed Fruit Jam 700g 
        [code] => 20 
        [price] => 215.00 
        [quantity] => 1 
        [image] => Kissan Mixed Fruit Jam 700g.jpg 
        [percentage_discount] => 0 [offer_mrp] => 0 
    )
)
php arrays multidimensional-array
1个回答
1
投票

array_merge()重新编号数字键。您应该改用运算符+

$first_array = $first_array + $second_array;

输出与您想要的完全相同。

© www.soinside.com 2019 - 2024. All rights reserved.