Autor Zpráva
boky
Profil *
Ahoj,

řeším problém s nekonečným menu. Asi je to takhle blbost, ale chtěl bych to dotáhnout dokonce a otestovat. Poslední co mi schází je že potřebuju přidávát potomky do $menu.

Mám v poli seřazené rodiče např.:
$parents = array(1, 5 ,10);
a potřepuju je naspat do
$menu[$parents[0]['childrens'][$parents[1]['childrens'][$parents[2]['childrens']][$item->id] = $item;

Posím o radu, případně nakopnutí jak na to jít jinak

Díky
Tori
Profil
Vlákno Klíče v poli by nepomohlo? (předposlední příspěvek je algoritmus řešení)
greeny
Profil
Jinak nejspíš budeš mít chybu i v uzávorkování ;) máš tam o 2 '[' víc než ']'
candiess
Profil
boky:
Podle uvedeného $pole jsou tam hodnoty pouze 1,5,10 ale když se kouknete do vašeho
$menu[$parents[0]['childrens']
tak zjistíte, že $pole s indexem 0 už nemá žádné další pole (aneb víceúrovňové pole), takže chyba je, jak říkal greeny v závorkování
boky
Profil *
Díky za reakce

omlouvám se za překlepy... má to být takto

$menu[$parents[0]]['childrens'][$parents[1]]['childrens'][$parents[2]]['childrens'][$item->id] = $item;

mě jde hlavně o to, jak to zapsat v nějakym cyklu.

třeba..
foreach($parents as $id) {
    $menu = & $menu[$id];
    $menu = & $menu['childrens'];
}

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: