如何从以下模式中获取重复的SKU数据

时间:2018-07-22 11:33:30

标签: php arrays arraylist multidimensional-array

这是数组的模式。 sku在vaiants(sub arrays)中。我想在sku的基础上获取数据。如果同一sku位于相同的(根数组)中,则输出应仅为该值;如果同一sku位于不同的(根数组)中,则输出应均为数组数据。如何动态地执行此操作。

    $arr = [
    '0' =>[
    "title" => 'first product',
    'prpduct_id'=>23424,
    'variants'=>[
        0=>[
                'variant_id'=>8654,
                'title'=> 'small prouct',
                'sku'=>'pro001'
            ],
        1=>[
                'variant_id'=>6556,
                'title'=>'second small product',
                'sku'=>'pro002'
            ],
        2=>[
                'variant_id'=>63258,
                'title'=>'third small product',
                'sku'=>'pro001'
            ]
        ]
    ],
    1=>[
    'title'=>'second product',
    'product_id'=>93255,
    'variants'=>[
        0=>[
                'variant_id'=>63259,
                'title'=>'small box',
                'sku'=>'pro002'
            ],
        1=>[
                'variant_id'=>63259,
                'title'=>'second small box',
                'sku'=>'pro003'
            ]
        ]
    ],
    2=>[
    'title'=>'third product',
    'product_id'=>321456,
    'variants'=>[
        0=>[
                'vaiant_id'=>32695,
                'title'=>'large products',
                'sku'=>'pro003'
            ]
        ]
    ]
];

1 个答案:

答案 0 :(得分:0)

我非常确定此代码将起作用,但是由于此处发布的数组中有太多错误,因此我无法对其进行测试,甚至找不到所有错误。
拼写错误的单词,点而不是逗号等等。

这将循环数组,回显产品标题,然后找到与array_column相关的所有SKU,然后array_unique返回唯一的SKU。
然后用新行将数组内插。

private String type

编辑终于解决了所有错误,这是代码的运行版本:https://3v4l.org/CBnoL