
Oprava PHP kódu
Ahoj, funkce vypisuje seznam z pole v PHP, jenže je tam nějaká chyba a nemůžu jí najít. Generuje to více položek než by mělo. Strukturu pole bych potřeboval zachovat tak jak je. Poradí někdo zkušený? Předem děkuji.
$array = [] ;
$array["aaa"] = ["url"=>"aaa", "name"=>"AAA"];
$array["bbb"] = ["url"=>"bbb", "name"=>"BBB"];
$array["ccc"] = ["url"=>"ccc", "name"=>"CCC"];
$array["ccc"]["ddd"] = ["url"=>"ddd", "name"=>"DDD"];
$array["ccc"]["ddd"]["eee"] = ["url"=>"eee", "name"=>"EEE"];
$array["fff"] = ["url"=>"fff", "name"=>"FFF"];
$array["ggg"] = ["url"=>"ggg", "name"=>"GGG"];
function makeList($array){
$output = '<ul>';
foreach ($array as $key => $subArray){
$output .= '<li><a href="'.$subArray["url"].'">'.$subArray["name"].'</a>';
$output .= makeList($subArray);
$output .= '</li>';
}
$output .= '</ul>';
return $output;
}
echo makeList($array);
A tady je výstup
xaDZ66Kd
Foreach prováděj jen na array:
Ahoj, děkuji za snahu ale výsledek je stále špatně, červeně označené položky tam nemají být.
www.imagehosting.cz
Viz níže.
Moc děkuji, jsem pomalejší na psaní ;)
Ještě bych se chtěl zeptat, když je tam nějaké submenu v tomto případě
šlo by spojit ty url tak, aby byly odkazy
Děkuji
Ještě vylepšení, asi chceš výpis takhle:
Ano, je vidět, že jsi profík, výpis je už správně, ale html stále vypisuje prázdné "<ul></ul>", jde to prosím opravit, aby to bylo i validní? Děkuji
Tohle je již validní (vyzkoušel jsem):
Pokud chceš ještě ty složené odkazy, pak je jednou z možností vkládat části odkazu do rekurzívní funkce jako argument.
Přenechávám za cvičení, neboť musím jít běhat s psíkem, než se vyrojí magoři s petardami.
Rekurzívní funkce jako argument? Tak to jdu googlit.. co to vůbec znamená.
Jaký účel plní ta proměnná $pridej_ul?
Nepsal jsem rekurzívní funkce jako argument, ale měl bys sis možná přidat další argument do té funkce.
$pridej_ul si vynechej a uvidíš, pak přemýšlej - jen takhle se něco naučíš.
To nedám, jsem grafik, ne programátor
Vážně nikdo neporadí?
S čím? Řešení už tu máš, ne?
Potřebuji poradit jak složit ty odkazy...
Jaké zas odkazy?
Bez záruky, v PHP nedělám.