Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]return i problem
Forum PHP.pl > Forum > Przedszkole
metoda
[PHP] pobierz, plaintext
  1. function check_n_replace($item,$new_value){
  2. if($item->nodeValue=="abc"){
  3. $add=new DOMElement("link",$new_value);
  4. $item->parentNode->replaceChild($add,$item);
  5. }
  6. else{
  7. if($item->previousSibling){
  8. //return "there is sibling";
  9. check_n_replace($item->previousSibling,$new_value);
  10. }else{
  11. return "no sibling";
  12. }
  13. }
  14. }
  15. echo check_n_replace($this,$old)
[PHP] pobierz, plaintext

dlaczego jak dam w petli warunkowej w jednym miejscu "return "there is sibling";" to zwraca mi podany stringa jak dam return po else no to nie zwraca go questionmark.gif siedzie nad tym godzine questionmark.gif czegos nie widze questionmark.gif
seth-kk
skoro wpadl do ifa to dlaczego mialby wykonywac jeszcze to co jest w else?
nospor
Cytat
return i głupi problem
głupi to jest tytuł tego tematu . prosze poprawic

Cytat
petli warunkowej
a gdzie ty tu masz pętle?
metoda
Cytat(nospor @ 20.08.2009, 12:28:16 ) *
a gdzie ty tu masz pętle?


ok zle to nazwałem...

ale on nie wpada do do ifa bo if jest w pewnym momencie niespełniony... wiec dlaczego nie daje returna...
jezeli w elsie dam echo " blabla bla" to mi je wypisze, ale returna nie daje questionmark.gif dlaczego questionmark.gif
nospor
w kodzie masz rekurencje:
check_n_replace($item->previousSibling,$new_value);

no a wywolanie rekurencyjne co tu zrobiles nie zwraca wyniku. pewnie dlatego echo ci sie wyswietla ale return gubisz bo go nie obslugujesz. proste.
metoda
czyli w przy wywołaniu rekurencyjnym musze dać echo. dzieki, to proste smile.gif pomogłeś winksmiley.jpg
nospor
no jesli echo cie zadowala to tak smile.gif

metoda
a co innego proponujesz questionmark.gif moze cos bardziej klarownego i profesjonalenego questionmark.gif
nospor
napisz co to ma robic, do czego ma to sluzyc, to moze cos poradzimy
metoda
check_n_replace jest to funkcja ktora ma zamienac daną Node w prostym pliku xml, która odpowiada danemu patternowi... to jest wersja poczatkowa dlatego patternem jest jakis string w tym przypadku "abc", ale docelowo pierwszy if w tej funkcji bedzie spelniony jezeli inna funkcja2 zwroci w tym miejscu 1 (ta funkcja2 jest malo istotna)... no i chodzi o to jeżeli dany node zostanie zastapiony nowym to zeby funkcja zwrocila 1 a zaden nie zostanie zastopiony to zeby zwrocila zero.

dalem teraz echo przed wywolaniem rekurencyjnym i dobrze zwraca... ale czy jest jakis lepszy "ksiązkowy" sposób na tego typu rzeczy questionmark.gif
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.