Jaka jest różnica między var_dump()
i print_r()
pod względem wypluwa tablicy jako ciąg?
297
Te var_dump
wyświetlacze funkcyjne strukturze informacji o zmiennych / wyrażenia w tym jego rodzaju i wartości . Tablice są badane rekurencyjnie z wartościami wciętymi, aby pokazać strukturę. Pokazuje także, które wartości tablic i właściwości obiektów są referencjami.
print_r()
Wyświetla informacje o zmiennej w sposób, który jest odczytywany przez ludzi. wartości tablic będą prezentowane w formacie pokazującym klucze i elementy . Podobna notacja jest używana dla obiektów.
Przykład:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
wyświetli się poniżej wyjścia na ekranie.
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
I print_r($obj)
wyświetli poniżej wynik na ekranie.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Więcej informacji
Ogólnie,
print_r( )
dane wyjściowe są ładniejsze, bardziej zwięzłe i łatwiejsze do odczytania, czyli bardziej czytelne dla człowieka, ale nie mogą pokazywać typów danych.Z
print_r()
możesz również zapisać dane wyjściowe w zmiennej:co
var_dump()
nie może zrobić. Jednakvar_dump()
może wyświetlać typy danych.źródło
var_dump()
pokaże ci rodzaj rzeczy, a także jej zawartość.Otrzymasz =>
(string)"var"
Przykład jest tutaj.print_r()
po prostu wyświetli treść.Czy wynik =>
"var"
Przykład jest tutaj.źródło
var_dump(0.0);
które wyjściafloat(0)
vsprint_r(0.0);
które wyjścia0
(stąd prowadzi do możliwego pomylenia typu) ...Jeśli pytasz, kiedy powinieneś użyć, zazwyczaj używam
print_r()
do wyświetlania wartości ivar_dump()
problemów z typami zmiennych.źródło
var_dump
wyświetla uporządkowane informacje o obiekcie / zmiennej. Obejmuje to typ i wartości. Podobnie jakprint_r
tablice są powtarzane i wcięte.print_r
wyświetla czytelne dla człowieka informacje o wartościach w formacie prezentującym klucze i elementy tablic i obiektów.Najważniejszą rzeczą, na którą należy zwrócić uwagę, jest
var_dump
typ wyjściowy, a także wartości, podczas gdyprint_r
nie.źródło
Znaczące różnice między
var_dump
iprint_r
obie funkcje zrzucają informacje o zmiennej , ale
var_dump
wiele parametrów, które zostaną zrzucone, przy czym jakprint_r
można wziąć dwa parametry, z których pierwszy parametr to zmienna, którą chcesz zrzucić, a drugi to wartość logiczna.var_dump
nie może zwrócić żadnej wartości, może jedynie zrzucić / wydrukować wartości, gdzie jako print_r może zwrócić informacje o zmiennej, jeśli ustawimy drugi parametrprint_r
na true . Zwrócona wartośćprint_r
będzie w formacie ciągu .Informacje drukowane przez
print_r
są znacznie bardziej w czytelnym formacie, w którymvar_dump
drukowane są surowe wartości.print_r
Funkcja może być używana w wielu kontekstach, gdzievar_dump
może być używana do celów debugowania, głównie dlatego, że nie może zwrócić wartości.źródło
vardump
pobiera jeden lub więcej argumentów i każdy zostanie zrzucony.ob_start(); var_dump($var); $dump=ob_get_clean();
Dodatkowo zalecałbym umieszczenie wyjścia var_dump () lub printr we wstępnym tagu podczas wysyłania do przeglądarki.
Daje bardziej czytelny wynik.
źródło
var_dump($var)
pokazuje szczegółowe informacje, podając dodatkowe szczegóły dotycząceźródło
W przypadku dużych tablic print_r może wyświetlać znacznie więcej informacji niż jest to przydatne. Możesz go przyciąć w ten sposób, wyświetlając pierwsze 2000 znaków lub dowolną liczbę, których potrzebujesz.
źródło
var_dump (): -
Przykład: -
wynik :-
print_r (): -
Przykład: -
Wynik:-
źródło
ob_start(); var_dump($var); $dump=ob_get_clean();
print_r () i var_dump () to funkcje debugowania tablicy używane w PHP do celów debugowania. Funkcja print_r () zwraca klucze macierzy i ich elementy jako Array ([klucz] = wartość), podczas gdy funkcja var_dump () zwraca listę macierzy wraz z kluczami macierzy o typie i długości danych, np. Array (array_length) {[0] = string (1) „a”}.
źródło
Możemy przekazać wiele parametrów za pomocą var_dump, takich jak:
źródło