Autor Zpráva
flary
Profil
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
flary
Předávej pole jako argument:
function Filter($items, $by) { .... }
Filter($items, "0");
Mastodont
Profil
A to $by vyhoď, když ho k ničemu nepoužíváš.
DJ Miky
Profil
A nebo pokud pole nechceš předávat jako argument, dej na začátek funkce řádek:
global $items;
flary
Profil
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
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

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:

0