['a' => [11, 12], 'b' => [21, 22]]
[['a' => 11, 'b' => 12], ['a' =>21, 'b' => 22]]
преобразовать
['a' => [11, 12], 'b' => [21, 22]]
в
[['a' => 11, 'b' => 12], ['a' =>21, 'b' => 22]]
12
из a
становится значением свойства b
, а 21
- наоборот? Опечатка? - наверное, в a
исходного массива лежат значения свойств a
результата, аналогично и с b
.array_map(fn($i) => array_combine(array_keys($arr), array_column($arr, $i)), array_keys(array_values($arr)[0]))
$array = ["a" => [11, 12], "b" => [21, 22]];
array_map(function($values) use (&$array) {
$keys = array_keys($array);
return array_reduce($values, function($carry, $value) use (&$keys) {
$carry[array_shift($keys)] = $value;
return $carry;
}, []);
}, array_values($array));
array_map(fn($key) => array_combine(array_keys($array), $array[$key]), array_keys($array))
array_map(function ($key) use (&$array) {
return array_combine(array_keys($array), $array[$key]);
}, array_keys($array));