@dmitrij_hort

Как обработать такой массив?

Друзья, есть вот такой массив
{
"VM_set_PV_args":"",
"VM_set_PV_bootloader":"eliod",
"VM_set_other_config":{
						"install-repository":"http:\/\/mirror.yandex.ru\/debian\/",
						"install-distro":"debianlike",
						"debian-release":"trusty",
						"install-arch":"i386"
						}
}

Необходимо обработать этот массив в цикле
foreach($params as $param){
if(!массив($param)){
$xe->$param[key]($param[value]); # необходимо получить $xe->VM_set_PV_bootloader("eliod")
}else{
foreach($param as $par){
$xe->$param($par[key],$par[value]) # необходимо чтобы получилост $xe=>VM_set_other_config("install-repository","http:\/\/mirror.yandex.ru\/debian\/") и далее по всему массиву VM_set_other_config
}
}}
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 2
@hufawoso
$json = '{
"VM_set_PV_args":"",
"VM_set_PV_bootloader":"eliod",
"VM_set_other_config":{
            "install-repository":"http:\/\/mirror.yandex.ru\/debian\/",
            "install-distro":"debianlike",
            "debian-release":"trusty",
            "install-arch":"i386"
            }
}';

$arr = json_decode($json, true);

echo $arr['VM_set_PV_bootloader'];

foreach ($arr['VM_set_other_config'] as $key => $val) {
    echo $val;
}
Ответ написан
@lem_prod
я так понимаю, надо что-то такое

function handleArrayRecursive(array $model) {
    foreach($model as $item) {
        if (is_array($item)) {
            hadleArrayRecursive($item);
        } else {
            //...do something
        }
    }
}

hadleArrayRecursive(json_decode($json, true));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы