Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dziwne zachowanie var_dump
Forum PHP.pl > Forum > Przedszkole
Mieeetek
Chciałem spytać czy to normalne że var_dump się tak zachowuje ?

  1. $a = "a";
  2. $b = "b";
  3. $c = "c";
  4. echo "<br>a - ".var_dump($a);
  5. echo "<br>b - ".var_dump($b);
  6. echo "<br>c - ".var_dump($c);


daje wynik

string(1) "a"
a - string(1) "b"
b - string(1) "c"
c -
untorched
Normalne, poczytaj dokumentację var_dump

EDIT:
Powinno pomóc:
  1. $a = "a";
  2. $b = "b";
  3. $c = "c":
  4. echo "<br>a - ";
  5. echo "<br>b - ";
  6. echo "<br>c - ";
maxxds44
Ooo, dziękuje tego szukałem właśnie, bardzo dziękuje.
Tomplus
tak jak print_r, tak var_dump ma drugi parametr true lub false (domyślnie)

Jeżeli wstawisz:

echo var_dump($a, true);

to wydrukuje ci dumpa jako string.
KsaR
Cytat(Tomplus @ 21.11.2016, 08:40:21 ) *
tak jak print_r, tak var_dump ma drugi parametr true lub false (domyślnie)

Jeżeli wstawisz:

  1. echo var_dump($a, true);


to wydrukuje ci dumpa jako string.

Eeee ?

Sęk w tym że var_dump nie zwraca wartości, lecz nią wyświetla zgodnie z dokumentacją.

Gdy podasz w var_dump kilka wartości to wyświetli je po kolei
Tak więc

  1. var_dump($a, true);

To to samo co
  1. var_dump(true);
viking
Zawsze można użyć zewnętrznych bibliotek np https://github.com/zendframework/zend-debug
Pierwszy argument to mixed params, drugi opcjonalny label i 3 ustawienie czy ma być echo czy return.
Pyton_000
Zanim napiszesz pomyśl i sprawdź. var_dump nie ma parametru zwracania jako string. var_export już tak.
Cytat(Tomplus @ 21.11.2016, 08:40:21 ) *
tak jak print_r, tak var_dump ma drugi parametr true lub false (domyślnie)

Jeżeli wstawisz:

  1. echo var_dump($a, true);


to wydrukuje ci dumpa jako string.

Tomplus
Przepraszam, macie rację. Rozpędziłem się. Tylko print_r ma taką możliwość zwracania tablicy jako string.

Ale jest sposób i to dosyć prosty, aby móc zwrócić var_dump jako string. Wystarczy użyć funkcji buforowania.


P.S. Skreśliłem informację o var_dump, aby nikogo nie wprowadzić w błąd.
Pyton_000
var_export też ma taką możliwość wink.gif
maly_swd
$c = "c": <=== TU POWINIEN BYĆ SREDNIK.
Mieeetek
Cytat(maly_swd @ 21.11.2016, 11:41:01 ) *
$c = "c": <=== TU POWINIEN BYĆ SREDNIK.


literówka przy przy wpisywaniu, poprawiłem

a na marginesie - zaksakując że wynik ląduje linijkę wyżej niż echo - i w dokumentacji tego nie zauważyłem - to żaden problem w sumie, ale dziwne
Pyton_000
Dla tego że całe wyrażenie jest ewaluowane. Jako że var_dump to funkcja więc najpierw ona się wykonuje, a potem "wynik" konkatenuje ze stringiem i wyświetlany.
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.