Autor Zpráva
cesar
Profil
Zdravím všechny,
nedávno jsem tady řešil takový menší problém (Výpis array přes cyklus) a teď řeším obdobnou záležitost. :-)

Mám následující:
$hodnota = "abc";
$a = array("test1","test2","test3");


a potřeboval bych to nějak rozkouskovat a zapsat přes cyklus(nevím, kolik bude položek v $a) do následující podoby:

$a = array("test1" => array("test2" => array("test3" => $hodnota)));


Neřešili jste někdo někdy tuto situaci? :-) Předem moc díky za radu.
AM_
Profil
Rekurzí.
function create_hierarchy($cesta, $hodnota){
  $key = array_shift($cesta);
  return array($key => (count($cesta) > 0) ? create_hierarchy($cesta) : $hodnota);
}

Nezkoušel jsem to, ale mělo by to fungovat.
cesar
Profil
Jenom jsem tam udělal 2 úpravy a už to funguje. Teď to je takhle:

function create_hierarchy($cesta, $hodnota){
    $key = array_shift($cesta);
    return array($key => (count($cesta) > 0) ? create_hierarchy($cesta, $hodnota) : $hodnota);
}


Díky moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: