Yanıtlar:
var_dumpFonksiyon görüntüler onun dahil değişkenler / ifadeler hakkında bilgi yapılı tip ve değerde . Diziler, yapıyı göstermek için girintili değerler ile özyinelemeli olarak araştırılır. Ayrıca hangi dizi değerlerinin ve nesne özelliklerinin referans olduğunu da gösterir.
print_r()İnsanlar tarafından okunabilir olan şekilde bir değişken hakkında bilgileri görüntüler. dizi değerleri, anahtarları ve öğeleri gösteren bir biçimde sunulur . Benzer gösterim nesneler için de kullanılır.
Misal:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj) Ekranda aşağıdaki çıktı görüntülenir.
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
Ve, print_r($obj)aşağıdaki çıktıyı ekranda gösterecektir.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Daha fazla bilgi
Genel olarak, print_r( )çıktı daha hoş, daha özlü ve okunması daha kolaydır, yani daha insan tarafından okunabilir ancak veri türlerini gösteremez.
İle print_r()çıktıyı bir değişkene de kaydedebilirsiniz:
$output = print_r($array, true);
bu var_dump()yapamaz. Ancak var_dump()veri türlerini gösterebilir.
var_dump() size o şeyin türünü ve içinde ne olduğunu gösterecektir.
Yani => (string)"var" Örnek burada.
print_r() sadece içeriği çıkarır.
Output => "var" Örnek burada.
var_dump(0.0);hangi çıktılar float(0)vs print_r(0.0);hangi çıkışlar 0(bu nedenle olası tür karışıklığı yol açar)
Neyi ne zaman kullanmanız gerektiğini soruyorsanız, genellikle print_r()değerleri görüntülemek ve var_dump()değişken türleriyle ilgili sorunlar için kullanırım.
var_dumpnesne / değişken hakkında yapılandırılmış bilgileri görüntüler. Buna tür ve değerler dahildir . Gibi print_rdiziler yoluyla recursed ve girintilendirilir.
print_rdiziler ve nesneler için anahtarlar ve öğeler sunan bir formatla değerler hakkında okunabilir bilgiler görüntüler .
Dikkat edilmesi gereken en önemli şey var_dump, çıktı türünün yanı sıra değerlerin print_rçıkmayacağıdır.
var_dumpVe arasındaki önemli farklılıklarprint_r
her iki işlev de değişken hakkında bilgi verir , ancak var_dumpbirden çok parametre dökülür; burada print_rilk parametre dökümü yapmak istediğiniz değişken, ikincisi boole değeri olan iki parametre alabilir.
var_dumpherhangi bir değeri döndüremezse, değerleri ikinci print_rolarak true olarak ayarlarsak print_r değişken bilgilerini döndürebildiğinde değerleri dökebilir / yazdırabilir . Dönen değer print_rolacaktır dize biçimi.
Tarafından yazdırılan bilgiler print_r, var_dumpham değerleri yazdırırken okunabilir biçimde çok daha fazladır .
print_rişlevi, var_dumpesas olarak değer döndüremediği için hata ayıklama amacıyla kullanılabilecek birçok bağlamda kullanılabilir.
ob_start(); var_dump($var); $dump=ob_get_clean();
Ben de bir tarayıcıya çıkış yaparken bir ön etikete var_dump () veya printr çıktı koyarak tavsiye ederim .
print "<pre>";
print_r($dataset);
print "</pre>";
Daha okunabilir bir sonuç verecektir.
var_dump($var) ek ayrıntılar sağlayarak ayrıntılı ayrıntıları gösterir
Büyük dizilerle, print_r kullanışlı olandan çok daha fazla bilgi gösterebilir. İlk 2000 karakteri veya ihtiyacınız olan birçok karakteri göstererek bu şekilde kısaltabilirsiniz.
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
var_dump (): -
Misal :-
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
çıktı :-
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 (): -
Misal :-
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
Çıktı:-
<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 () ve var_dump (), PHP'de hata ayıklama amacıyla kullanılan Dizi hata ayıklama işlevleridir. print_r () işlevi dizi anahtarlarını ve üyelerini Dizi ([anahtar] = değer) olarak döndürürken, var_dump () işlevi de veri türü ve uzunluğu olan dizi anahtarlarıyla dizi listesini döndürür, örneğin Array (array_length) {[0] = string (1 A'}.
Var_dump ile birden fazla parametre iletebiliriz:
var_dump("array1",$array1,"array2",$array2);