Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dziwne zachowanie var_dump
Mieeetek
post 20.11.2016, 23:30:39
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

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


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 -

Ten post edytował Mieeetek 21.11.2016, 15:07:13
Go to the top of the page
+Quote Post
untorched
post 21.11.2016, 00:08:18
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

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


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 - ";


Ten post edytował untorched 21.11.2016, 00:10:04
Go to the top of the page
+Quote Post
maxxds44
post 21.11.2016, 08:37:21
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.11.2016

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


Ooo, dziękuje tego szukałem właśnie, bardzo dziękuje.
Go to the top of the page
+Quote Post
Tomplus
post 21.11.2016, 08:40:21
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


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.

Ten post edytował Tomplus 21.11.2016, 10:46:32
Go to the top of the page
+Quote Post
KsaR
post 21.11.2016, 09:11:02
Post #5





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


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);


--------------------
Go to the top of the page
+Quote Post
viking
post 21.11.2016, 09:20:01
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


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.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 21.11.2016, 09:38:24
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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.

Go to the top of the page
+Quote Post
Tomplus
post 21.11.2016, 10:45:29
Post #8





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


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.

Ten post edytował Tomplus 21.11.2016, 10:47:29
Go to the top of the page
+Quote Post
Pyton_000
post 21.11.2016, 10:49:07
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


var_export też ma taką możliwość wink.gif
Go to the top of the page
+Quote Post
maly_swd
post 21.11.2016, 11:41:01
Post #10





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


$c = "c": <=== TU POWINIEN BYĆ SREDNIK.


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
Mieeetek
post 21.11.2016, 15:10:29
Post #11





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

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


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
Go to the top of the page
+Quote Post
Pyton_000
post 21.11.2016, 15:17:15
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:27