Недавно я использовал функцию array_flatten от AlienWebguy, но у меня возникла проблема, найти которую было очень сложно.
array_merge вызывает проблемы, и это не первый раз, когда у меня возникают проблемы с ним.
Если у вас есть те же ключи массива в одном внутреннем массиве, что и в другом, то более поздние значения будут перезаписывать предыдущие в объединенном массиве.
Вот другая версия array_flatten без использования array_merge:
function array_flatten($array) {
if (!is_array($array)) {
return FALSE;
}
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$arrayList=array_flatten($value);
foreach ($arrayList as $listItem) {
$result[] = $listItem;
}
}
else {
$result[$key] = $value;
}
}
return $result;
}