Autor | Zpráva | ||
---|---|---|---|
flary Profil |
#1 · Zasláno: 9. 4. 2008, 21:49:29
Zdravím, mám pro mě nepochopitelný problém:
Mám pole: 1;Nová sekce 1;0 2;Nová sekce 2;0 3;Nová sekce 3;0 4;Nová sekce 4;0 5;Podsekce 1;1 6;Podsekce 2;1 7;Podsekce 2-1;6 8;Podsekce 2-1;2 10;Podsekce 1-1;9 a to pole procházím: for($i=0;$i<count($items);$i++){echo $items[$i] . "\n";} jenže když to dám do fce: function Filter($by){ for($i=0;$i<count($items);$i++){echo $items[$i] . "\n";} } Filter("0"); tak nic... Nevíte co s tím? |
||
bukaj Profil |
#2 · Zasláno: 9. 4. 2008, 22:04:08
flary
Předávej pole jako argument: function Filter($items, $by) { .... } Filter($items, "0"); |
||
Mastodont Profil |
#3 · Zasláno: 9. 4. 2008, 22:08:14
A to $by vyhoď, když ho k ničemu nepoužíváš.
|
||
DJ Miky Profil |
#4 · Zasláno: 9. 4. 2008, 22:18:10
A nebo pokud pole nechceš předávat jako argument, dej na začátek funkce řádek:
global $items; |
||
flary Profil |
#5 · Zasláno: 10. 4. 2008, 18:03:13 · Upravil/a: flary
Mastodont
To $by tam má co dělat, ale jak jsem kód zjednodušoval, a zjišťoval kde je chyba, jeho význam vymizel. bukaj, DJ Miky Díky za nápady, vyzkouším. Děkuji |
||
flary Profil |
#6 · Zasláno: 10. 4. 2008, 22:27:47
Tak jsem to nakonec udělal jinak, ale přesto pořád něco nesedí.
Mám teď místo pole string $sec = "1;Nová sekce 1;0/2;Nová sekce 2;0/3;Nová sekce 3;0/4;Nová sekce 4;0/5;Podsekce 1;1/6;Podsekce 2;1/7;Podsekce 2-1;6/8;Podsekce 2-1;2/10;Podsekce 1-1;9"; No, a funkci Filter: function Filter($by, $base){ $res = ""; $a1 = explode("/", $base); for($i=0;$i<count($a1);$i++){ $a2 = explode(";", $a1[$i]); if($a2[2] == $by){ $res .= $a1[$i]."/"; } } return str_replace("//", "", $res); } A nakonec funkci Node: function Node($by, $base){ $res = Filter($by, $base); $res2 = explode("/", $res); if (count($res2) > 0){ echo "<ul>"; for($i=0;$i<count($res2);$i++){ $par = explode(";", $res2[$i]); $par = $par[0]; echo "<li>" . $res2[$i] . "</li>"; //Node($par, $res); - záměrně jako comment } echo "</ul>"; } } Když odkomentuju ten řádek kde je comment, hází mi to proxy error. Když to nechám tak když si vyfiltruji jenom řádky kde "*;*;0" (ze $sec) tak dostanu 4 (první 4), vypíší se mi 4x <li> do toho <ul> a je to v klidu, ale jakmile zapojím rekurzi, nstatává proxy error. Čím to je? Přistupuji k $sec z více stran nebo?? Já už fakt nevím. Díky |
||
Časová prodleva: 16 let
|
0