PHP - 重新排列多个数组,以便某些组合具有相同的键(索引)

时间:2016-06-27 13:08:49

标签: php arrays sorting multidimensional-array

我有一个数组,如下所示:

Array
(
[sku_0017768] => Array
    (
        [0] => 0f359ce5bf6dc855f160c9b89b4aada0
    )

[sku_0017766] => Array
    (
        [0] => ff5a47bd699bcb52944d0727a5b443b6
        [1] => 0f359ce5bf6dc855f160c9b89b4aada0
    )

[sku_0017723] => Array
    (
        [3] => a3c83832b4089d83d164b3cac596fc7e
    )

[sku_0017767] => Array
    (
        [0] => fb91d14d405be52ce989acd2918ea1a0
    )

[sku_8402350] => Array
    (
        [0] => a3c83832b4089d83d164b3cac596fc7e
        [1] => fb91d14d405be52ce989acd2918ea1a0
        [2] => ff5a47bd699bcb52944d0727a5b443b6
        [3] => d14afce16e477663ebe51fdd65cd5010
    )

[sku_8402200] => Array
    (
        [0] => d14afce16e477663ebe51fdd65cd5010
    )

)

现在,此数组表示带有一个或多个“组合代码”的SKU列表。因此,在此示例中,'sku_0017768'与产品sku_0017766匹配,因为它们共享相同的组合代码。

你可以看到

sku_8402350有多种组合。

我现在需要的是一个新数组,其中组合代码的索引(键)需要在组合中的其他产品中相同。

输出应如下所示:

Array
(
[sku_0017768] => Array
    (
       [0] => 0f359ce5bf6dc855f160c9b89b4aada0
    )

[sku_0017766] => Array
    (
       [0] => 0f359ce5bf6dc855f160c9b89b4aada0
       [1] => ff5a47bd699bcb52944d0727a5b443b6
    )

[sku_0017723] => Array
    (
       [0] => a3c83832b4089d83d164b3cac596fc7e
    )


[sku_0017767] => Array
    (
       [0] => fb91d14d405be52ce989acd2918ea1a0
    )

[sku_8402350] => Array
    (
       [0] => fb91d14d405be52ce989acd2918ea1a0
       [1] => ff5a47bd699bcb52944d0727a5b443b6
       [2] => d14afce16e477663ebe51fdd65cd5010
       [3] => a3c83832b4089d83d164b3cac596fc7e
    )

[sku_8402200] => Array
    (
       [2] => d14afce16e477663ebe51fdd65cd5010
    )
)

我遇到的困难是,当一个密钥已经被使用时,组合中其他产品的密钥也应该增加(1),直到组合可以使用空密钥为止。

有人能帮助我指出正确的方向吗?如果有任何不清楚的地方,请随时询问。

0 个答案:

没有答案