[php中子级的映射数组

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

我在PHP中有2个数组,如下所示:

array1 = [product_id = [data],product_id = [data],..]

[
    101 => [
        "sku" => "AB01"
    ],
    201 => [
        "sky" => "AB02"
    ],
    ...
]

array2 =具有product_id的产品的属性

    [
    0 => [
        "product_id" => 101,
        "name" => "pro 1"
    ],
    1 => [
        "product_id" => 101,
        "size" => "S"
    ],
    2 => [
        "product_id" => 201,
        "name" => "pro 2"
    ],
    3 => [
        "product_id" => 201,
        "size" => "S"
    ],
    ...
]

我想要的是根据array2数据中的product_id像这样子数组推入array1中的>]

    [
    101 => [
        "sku" => "AB01",
        "attributes" => [
            0 => [
                "product_id" => 101,
                "name" => "pro 1"
            ],
            1 => [
                "product_id" => 101,
                "size" => "S"
            ]
        ]
    ],
    201 => [
        "sky" => "AB02",
        "attributes" => [
            0 => [
                "product_id" => 201,
                "name" => "pro 2"
            ],
            1 => [
                "product_id" => 201,
                "size" => "S"
            ]
        ]
    ],
    ...
]

array1的数组长度约为1000,而array2的数组长度约为5000。 foreach循环占用太多时间。有什么快速的方法可以实现吗?

我在php中有2个数组,如下所示:array1 = [product_id = [data],product_id = [data],..] [101 => [“ sku” =>“ AB01”],201 => [ “ sky” =>“ ...

php php-7
3个回答
0
投票

关于我能想到的最快方法是在第二个数组上使用一个foreach循环,因为第一个数组由product_id索引,因此很容易直接在每个循环上插入新数据...


0
投票

我希望这个答案对您有用


0
投票

也许可以帮助您

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