将数组从一种形状转换为另一种形状,PHP

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

我有一个像这样的数组(所有维度都是动态的):

array:2 [▼ /
  1 => array:2 [▼
    0 => "Large"
    1 => "2X Large"
  ]
  2 => array:2 [▼
    0 => "#000000"
    1 => "#d6c724"
  ]
  3 => ...
  4 => ...
]

我怎样才能像这样转换:?

array [
  0 => ["Large", "#000000", ...],
  1 => ["Large", "#d6c724",...],
  2 => ["2X Large", "#000000", ...],
  3 => ["2X Large", "#d6c724", ...],
  4 => ...,
  5 => ...,
  ...
]

所有维度和数组大小都是动态的。

谢谢

php arrays laravel multidimensional-array laravel-10
1个回答
0
投票
$values = [
[
    0 => "Large",
    1 => "2X Large"
],
[
    0 => "#000000",
    1 => "#d6c724"
]
];

array_reduce($values, function ($carry, $item) {
    foreach ($item as $key => $value) {
        $carry[$key][] = $value;
    }

    return $carry;
}, []);
© www.soinside.com 2019 - 2024. All rights reserved.