Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funkcja rekurencyjna i przekazywanie wyniku przez referencje
nowy_pehapowiec
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Jak w funkcji rekurencyjnej przekazywać wynik przez referencje? Cały czas dostaje ostrzeżenie: Call-time pass-by-reference has been deprecated

Mam funkcje rekurencyjną, która pobiera zmienną z tablicą i w odpowiendi sposób tworzy zagnieżdżoną listę html. Czyli dodaje gnieniegdzie <ul>, <li>, <a> i tego typu teksty. Jeśli w funkcji jest echo to wszystko wyświetla się bez przeszkód. No ale ja chciałbym z tego echo zrezygnować i cały wynik zwrócić jako zmienną i dlatego dodałem referencje. Jak można to poprawić(IMG:style_emoticons/default/questionmark.gif)
Funckja wygląda jakoś tak:
function ff( $z1, $z2, $z3, &$wynik = '' )
{
$wynik = $wynik . '<ul>';
/*jakiś kod*/
ff( $z1, $z2, $z3, &$wynik );
$wynik = $wynik . '</ul>';
return $wynik;
}

Czemu to nie chce dobrze działać? A może jest jakiś inny sposób na uniknięcie echo w środku funkcji?

pozdro
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Coś takiego:

  1. <?php
  2.  
  3.  
  4. function test(&$text, &$x) {
  5. static $string;
  6. if ($x > 0) {
  7. $string .= ' '.$text;
  8. $x--;
  9. test($text, $x);
  10. }
  11.  
  12. return $string;
  13. }
  14.  
  15. $str = 'tekst';
  16. $x = 12;
  17.  
  18. echo test($str, $x);
  19.  
  20. ?>

?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 05:56