Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rekurencja, tablica, zwrócenie wyniku
Forum PHP.pl > Forum > Przedszkole
kefir667
  1. function getFullPath($id,$path=array()){
  2. $sql="SELECT tree.title,tree.parent_id, tree.id FROM tree WHERE tree.id=".$id.";";
  3. $result=mysql_query($sql);
  4. $p1=mysql_fetch_assoc($result);
  5. if($p1["parent_id"]>1){
  6. $path[]=$p1["title"];
  7. getFullPath($p1["parent_id"],$path);
  8. }else{
  9. $path[]=$p1["title"];
  10. $depth=count($path)-1;
  11.  
  12. for($i=0;$i<=$depth;$i++){
  13. $odwrotnie[]=$path[$depth-$i];
  14. }
  15. print_r($odwrotnie);
  16. return $odwrotnie;
  17.  
  18. }
  19.  
  20. }
  21.  
  22. //wywolanie funkcji
  23. print_r(getFullPath(8));


print_r(getFullPath(8)); - nie daje wyniku
a print_r($odwrotnie) z wnętrza funkcji daje wynik poprawny (Array ( [0] => ROOT [1] => PierwszyKatalog [2] => PodkatalogWpierwszym ) )

Dlaczego return $odwrotnie nie przekazuje wartości funkcji?
Bardzo proszę o pomoc
mikiz65
Źle zamykasz nawiasy:
  1. function getFullPath($id,$path=array()){
  2. $sql="SELECT tree.title,tree.parent_id, tree.id FROM tree WHERE tree.id=".$id.";";
  3. $result=mysql_query($sql);
  4. $p1=mysql_fetch_assoc($result);
  5. if($p1["parent_id"]>1){
  6. $path[]=$p1["title"];
  7. getFullPath($p1["parent_id"],$path);
  8. }else{
  9. $path[]=$p1["title"];
  10. $depth=count($path)-1;
  11. [size="6"] powinien być tu[/size]
  12. for($i=0;$i<=$depth;$i++){
  13. $odwrotnie[]=$path[$depth-$i];
  14. }
  15. print_r($odwrotnie);
  16. return $odwrotnie;
  17.  
  18. [size="6"]TEN }[/size]
  19.  
  20. }
  21.  
  22. //wywolanie funkcji
  23. print_r(getFullPath(8));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.