-2

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

阵列 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"
4

1 回答 1

2

您可以对这两个数组进行分块并映射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"
    }
]

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

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

于 2021-12-13T19:22:55.237 回答