Odpowiedzi:
Te var_dumpwyś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:
$output = print_r($array, true);
co var_dump()nie może zrobić. Jednak var_dump()może wyświetlać typy danych.
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.
var_dump(0.0);które wyjścia float(0)vs print_r(0.0);które wyjścia 0(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 i var_dump()problemów z typami zmiennych.
var_dumpwyświetla uporządkowane informacje o obiekcie / zmiennej. Obejmuje to typ i wartości. Podobnie jak print_rtablice są powtarzane i wcięte.
print_rwyś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_dumptyp wyjściowy, a także wartości, podczas gdy print_rnie.
Znaczące różnice między var_dump iprint_r
obie funkcje zrzucają informacje o zmiennej , ale var_dumpwiele parametrów, które zostaną zrzucone, przy czym jak print_rmożna wziąć dwa parametry, z których pierwszy parametr to zmienna, którą chcesz zrzucić, a drugi to wartość logiczna.
var_dumpnie 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 parametr print_rna true . Zwrócona wartość print_rbędzie w formacie ciągu .
Informacje drukowane przez print_rsą znacznie bardziej w czytelnym formacie, w którym var_dumpdrukowane są surowe wartości.
print_rFunkcja może być używana w wielu kontekstach, gdzie var_dumpmoże być używana do celów debugowania, głównie dlatego, że nie może zwrócić wartości.
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.
print "<pre>";
print_r($dataset);
print "</pre>";
Daje bardziej czytelny wynik.
var_dump($var) pokazuje szczegółowe informacje, podając dodatkowe szczegóły dotyczące
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.
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
var_dump (): -
Przykład: -
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
wynik :-
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
print_r (): -
Przykład: -
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
Wynik:-
<pre>
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
</pre>
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”}.
Możemy przekazać wiele parametrów za pomocą var_dump, takich jak:
var_dump("array1",$array1,"array2",$array2);