Как правильно преобразовать в один массив?
есть такой метод который принимает массив
private function prepare(array $countAds): array
{
}
подскажите пожалуйста как правильно преобразовать данный массив
array:3 [▼
0 => array:1 [▼
"moderation" => 2
]
1 => array:1 [▼
"not-published" => 59
]
2 => array:1 [▼
"published" => 2
]
]
в необходимый вид
array:3 [▼
"moderation" => 2
"not-published" => 59
"published" => 2
]
Ответы (2 шт):
Автор решения: Алексей Щепкин
→ Ссылка
<?php
$arr = [
["moderation" => 2],
["not-published" => 59],
["published" => 2],
];
$res = [];
foreach($arr as $i => $value) {
foreach($value as $key => $n) {
$res[$key] = $n;
}
}
var_dump($res);
Автор решения: Макс Максимус
→ Ссылка
Как один из возможных вариантов, чтоб не делать еще один вложенный foreach, можно воспользоваться функций для работы с массивами key(). Она вернет индекс текущего элемента массива, который мы и запишем в качестве ключа нашего нового массива:
foreach ($arr as $v) {
$newArr[key($v)] = $v[key($v)];
}
var_dump($newArr);