组合具有多个值和相同键的两个数组

Combine two arrays with multiple values and same keys

我有两个包含键和值的数组,我想将它们组合起来:

数组 1

[0]=>string "Width"
[1]=>string "Height"
[2]=>string "Length"
[3]=>string "Width"
[4]=>string "Height"
[5]=>string "Length"

数组 2

[0]=>string "42 cm"
[1]=>string "2 cm"
[2]=>string "210 cm"
[3]=>string "5 cm"
[4]=>string "10 cm"
[5]=>string "15 cm"

用array_combine(array1, array2)输出:

[Width]=>string "42 cm"
[Height]=>string "2 cm"
[Length]=>string "210 cm"
[Width]=>string "42 cm"
[Height]=>string "2 cm"
[Length]=>string "210 cm"

我怎样才能得到输出?:

[Width]=>string "42 cm"
[Height]=>string "2 cm"
[Length]=>string "210 cm"
[Width]=>string "5 cm"
[Height]=>string "10 cm"
[Length]=>string "15 cm"

您可以将两个数组分块并映射 array_combine 在块上。

$result = array_map('array_combine', array_chunk($array1, 3), array_chunk($array2, 3));

这会给你这样的结果:

[
    {
        "Width": "42 cm",
        "Height": "2 cm",
        "Length": "210 cm"
    },
    {
        "Width": "5 cm",
        "Height": "10 cm",
        "Length": "15 cm"
    }
]

我认为这可能是最接近您想要得到的解决方案。

请注意,只有当键和值的子集与您的示例中的大小相同时,这才有效。