将数组附加到多维数组,保留键

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

在PHP中,我有一个名为$ items的数组:

Array
(
    [9] => Array
    (
        [id] => 9
        [title] => Fujifilm XE-1 digital camera
        [uri] => fujifilm-xe-1-digital-camera
        [url] => items/fujifilm-xe-1-digital-camera/9
        [cat_id] => 03.01.01.01
    )
)

和一个名为$ item_photos的数组:

Array
(
    [photos_dir] => ../items/item-images/L1/009/
    [photos] => Array
    (
        [0] => ../items/item-images/L1/009/01xs.jpg
    )

    [main_photos] => Array
    (
        [x_small] => ../items/item-images/L1/009/01xs.jpg
        [small] => ../items/item-images/L1/009/01s.jpg
        [medium] => ../items/item-images/L1/009/01m.jpg
        [large] => ../items/item-images/L1/009/01l.jpg
    )

我想将项目照片附加到items数组,以便它成为一个像这样的大数组(保留数字9键):

Array
 (
     [9] => Array
         (
             [id] => 9
             [title] => Fujifilm XE-1 digital camera
             [uri] => fujifilm-xe-1-digital-camera
             [url] => items/fujifilm-xe-1-digital-camera/9
             [cat_id] => 03.01.01.01
             [photos_dir] => ../items/item-images/L1/009/
             [photos] => Array
             (
                  [0] => ../items/item-images/L1/009/01xs.jpg
             )

             [main_photos] => Array
             (
                  [x_small] => ../items/item-images/L1/009/01xs.jpg
                  [small] => ../items/item-images/L1/009/01s.jpg
                  [medium] => ../items/item-images/L1/009/01m.jpg
                  [large] => ../items/item-images/L1/009/01l.jpg
             )
    )

我试过array_push($items, $item_photos);,但它没有给我正确的结果。

php arrays
1个回答
2
投票

这是一个尝试的选项:

$items[9] = array_merge( $items[9], $item_photos );

因此它将$ items [9]替换为一个合并数组,它结合了$ items [9]和$ item_photos。

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