» Poradna » Web a internet

PHP - rada s funkcemi

 |   |  Microsoft Windows 7 Chrome 42.0.2311.152

Zdravím, mám soubory index.php a menu.php. Soubor menu.php obsahuje tuto funkci:private function GetHtmlRecursive($arr) { $html = ''; foreach ($arr AS $item) { //neukazovane polozky rovnou preskakuju if ($item['show'] != 'Y') continue; //ted jestli mam podpolozky, tak rekurzujeme if (isset($item['sub'])) { $html .= '<li><a href="#">'.$item['nazev'].'</a>'. '<ul>'; $html .= $this->GetHtmlRecursive($item['sub']); $html .= '</ul></li>'; } else { //pokud podpolozky nemam, tak vypisu normalni polozku $html .= '<li><a href="'.$item['url'].'">'.$item['nazev'].'</a></li>'; } } //foreach pres polozky $arr return $html; }Je nějaká možnost, jak bych se v souboru index.php dostal k proměnné $item['url']?Děkuji za tipy.

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 7 Chrome 42.0.2311.152

Pro lepší přehlednost přidávám obrázek, nepočítal jsem s tím, že se kód takhle rozhází.http://i.share.pho.to/c7d3ca36_o.jpeg

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

PHP zas tak moc neumím, ale z obecného hlediska, k čemu by ti to bylo?Ta proměnná je definována až v té funkci GetHtmlRecursive, a postupně nabývá hodnot podle toho jak se prochází jednotlivými položkami menu. Ovšem k těmto všem položkám se mimo tuto funci nedostaneš. Jediné čeho by jsi mohl dosáhnout je, že tu proměnou deklaruješ už dřív, pak teprve zavoláš tuto funkci, a po jejím skončení v té proměnné budeš mít poslední použitou hodnotu, tj poslední položku menu. A to ti asi k ničemu moc nebude.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 8.1 Firefox 38.0

jo

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Item, HTML