Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Różnice w wyświetlaniu
Forum PHP.pl > Forum > Przedszkole
sadistic_son
Może mi ktoś wyjaśnić dlaczego 2 poniższe kody, pozornie robiące to samo wyświetlają różne wyniki?
  1. //na przykład dla sesji
  2.  
  3. //pierwsza wersja
  4. echo 'Sesja: <pre>'.print_r($_SESSION).'</pre>';
  5.  
  6. //druga wersja
  7. echo 'Sesja: <pre>'; print_r($_SESSION); echo'</pre>';
Noidea
print_r



Cytat
If you would like to capture the output of print_r(), use the return parameter. When this parameter is set to TRUE, print_r() will return the information rather than print it.


Cytat
When the return parameter is TRUE, this function will return a string. Otherwise, the return value is TRUE.
sadistic_son
Ale co to ma do rzeczy? Domyślnie jest FALSE, czego echo przecież nie zmieni.
gargamel
print_r ma w domyśle wysyłanie stringa
sadistic_son
Może jestem niedorozwinięty... ale jaki to ma wpływ przy połączeniu z echo?
w
to że jak dasz echo print_r($zmienna); to Ci najpierw wykona print_r() czyli wyświetli zawartosć $zmienna a poźniej echo true; (bo to zwróci print_r).
Żeby zadziałało tak jak chcesz to musi być
  1. echo print_r($zmienna, true);.

lub po prostu
  1. print_r($zmienna);.

kalmaceta
@sadistic_san dlaczego te dwa poniższe kody wyświetlają różne wyniki

  1. //pierwsza wersja
  2. print_r($_SESSION);
  3. echo 'Sesja: <pre>'.TRUE.'</pre>';
  4.  
  5. //druga wersja
  6. echo 'Sesja: <pre>'; print_r($_SESSION); echo'</pre>';
sadistic_son
Już rozumiem, dzięki. Myliło mnie to, że true wyświetlane jest jako 1 co w moim przypadku, zbiegiem okoliczności odpowiadało mi bo w sesji miałem wartość 1. Przez to myślałem, że wyświetla się to samo tylko bez indeksów tablicy i w nieco innej postaci biggrin.gif Już czaję. TXH.
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.