Есть многомерный массив с (внимание)неизвестным уровнем вложенности, как его преобразовать в одномерный?
К примеру, есть массив:
$arrayTest = [
'country' => [
'Russian Federation' => [
'Округа' => [
'Краснодарский край',
'Чеченская республика',
'Республика Дагестан'
],
'Москва',
'Воронеж',
'Ростов-на-Дону'
],
"United States of America" => [
'Сиэтл',
'Вашингтон',
'Филадельфия'
],
"China" => [
'Шанхай',
'Пекин',
'Гон'
]
],
'union' => [
'СССР',
'Европейский союз'
],
'status' => 1,
'age' => 34
];
Как преобразовать его в одномерный если учесть то, что уровень вложенности неизвестный, как тут:
array(
Краснодарский край
Чеченская республика
Республика Дагестан
Москва
Воронеж
Ростов-на-Дону
Сиэтл
Вашингтон
Филадельфия
Шанхай
Пекин
Гон
СССР
Европейский союз
1
34
)
Можно использовать функцию array_walk_recursive, которая рекурсивно применяет пользовательскую функцию к каждому элементу массива
$result = [];
array_walk_recursive($arrayTest, function ($item, $key) use (&$result) {
$result[] = $item;
});
Лучше всего написать функцию и использовать рекурсию.
Кажется я понял и написал работающую функцию:
$resArray = [];
function convertToSimpleArray($array){
global $resArray;
if(is_array($array)){
foreach($array as $below){
$res = convertToSimpleArray($below);
}
}else{
$resArray[] = $array;
}
return $resArray;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени сутокНикак не могу получить прямую ссылку на видео из туба
Ребят подскажите как преобразовать дату в виде "26 августа" в вид "2017-08-26" на PHPЗаранее спасибо!
Нужно создать страницу контактов (с управлением из админки) в которой 1Будет форма для отправки сообщений с дропдауном из емайл адресов
Доброго времени суток увпрограммисты! Возник вопрос можно ли сделать аналог 1С на PHP только под свои нужды, так как в фирме нужно всю бухгалтерию...