Как оптимально преобразовать двумерный массив?
Есть массив вида:
srcArray = [
['name1' => 'value1'],
['name2' => 'value2'],
['name3' => 'value3'],
];
Необходимо привести его к виду:
$outArray = ['name1' => 'value1', 'name2' => 'value2', 'name3' => 'value3',]
Как можно это оптимально сделать? Такой вариант не выглядит оптимальным:
foreach ($srcArray as $arr) {
$arrayNames[] = array_keys($arr)[0];
$arrayValues[] = array_values($arr)[0];
}
$outArray = array_combine($arrayValues, $arrayNames);
Ответы (2 шт):
Автор решения: DiD
→ Ссылка
<?php
$srcArray = [
['name1' => 'value1'],
['name2' => 'value2'],
['name3' => 'value3'],
];
$outArray = array_reduce($srcArray, 'array_merge', []);
var_export($outArray);
?>
Автор решения: u_mulder
→ Ссылка
Модификация ответа @DiD с помощью оператора ...:
$srcArray = [
['name1' => 'value1'],
['name2' => 'value2'],
['name3' => 'value3'],
];
print_r(array_merge(...$srcArray));