Ben echo kullanımı ve print_r çok, ve baskı kullanmak hemen hemen hiç.
I echo bir makro olduğunu hissediyorum, ve print_r var_dump bir diğer adıdır.
Ama bu farklılıkları açıklamak için standart bir yol değil.
print ve echo daha fazla veya daha az aynı; onlar dizeleri gösterilecek de dil yapılarıdır. Farklılıklar ince: print echo bir void dönüş türü vardır oysa bu yüzden ifadelerde kullanılabilecek 1 bir dönüş değeri vardır; echo gibi kullanım nadir olmasına rağmen, birden fazla parametre alabilir; echo print a> biraz daha hızlıdır . (Şahsen ben her zaman echo kullanmak, asla print.)
var_dump kendi türü ve herhangi bir alt öğe türü de dahil olmak üzere bir değişkenin ayrıntılı bir dökümü, yazdırır (bir dizi ya da bir nesne ise). print_r, daha okunabilir şeklinde bir değişken yazdırır: dizeleri işlem görmeyen, tür bilgileri atlanırsa, dizi boyutları verilmez, vb
var_dump genellikle daha yararlıdır print_r ayıklarken, benim deneyim. Eğer değişkenler var tam olarak ne değerler / türleri bilmiyorum zaman özellikle yararlıdır. Bu test programını düşünün:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
print_r Eğer 0 ve 0.0, ya da false ve '' arasındaki farkı söyleyemem ile:
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
echo
Hiçbir dönüş değeri
örneğin echo "String 1", "String 2"
İade 1, bu nedenle, bir ifadede kullanılabilir
örneğin print "Hello"
ya da if ($expr && print "foo")
print_r()
var_dump()
print_r(), örneğin, aynı zamanda type değerleri baskılar için farklı bir çıkış biçimini kullanırNotlar:
print bir ifade kullanılabilir olsa da (hiç yararlı olmayacaktır çünkü ve), ben genellikle okunabilirlik uğruna bunu yaparken önlemek istiyorum. Öncelik kuralları diğer operatörleri ile etkileşim de kafa karıştırıcı olabilir.echo ve print dil yapılan, print_r() ve var_dump() normal fonksiyonları vardır. Sen echo veya print için argümanları içine parantez gerekmez (ve bunları kullanmak yaparsanız, bunlar bir ifadede olduğu gibi, onlar tedavi edilebilir).
Sadece John's answer, echo Eğer sayfanın içeriği yazdırmak için kullanabileceğiniz tek olmalıdır eklemek.
print biraz daha yavaş. var_dump() ve print_r(), sadece ayıklamak için kullanılmalıdır.
Söz değer olduğunu print_r() ve var_dump(), varsayılan olarak yankı print_r() en azından yerine geri almak için doğru değerlendirir ki ikinci bir argüman katacak olan örneğin print_r($array, TRUE).
Yankılanan ve geri dönen arasındaki fark vardır:
Echo:
It is statement not a function No return value
Parantez Gerekmez
Array Yazdır Değil
Bu gerçek işlevi
Tip 1 Dönüş
Parantez Gerekli
Array Yazdır Değil
Print_r
Insan okunabilir biçimde yazdırmak
Dize değil Tırnaklar içinde
Tipi ve bütün gibi değişken değildir Detay Bilgileri
var_dump
All dump information of variable like type of element and sub element
echo: yankı var onunla parantez kullanmak için gerekli değildir ve herhangi bir sayıda parametre alır ve geçersiz dönebilirsiniz bir dil oluşumudur.
void echo (param1,param2,param3.....);
Example: echo "test1","test2,test3";
Yazıcı: bu sadece bir parametre ve geri dönüş almak parantez kullanmak için orada gerekli değildir bir dil oluşumudur
1 always.
int print(param1);
print "test1";
print "test1","test2"; // It will give syntax error
prinf: Bu çıkış dize en az bir dize ve biçim stili ve iadeler uzunluğunu alan bir fonksiyondur.
int printf($string,$s);
$s= "Shailesh";
$i= printf("Hello %s how are you?",$s);
echo $i;
Output : Hello Shailesh how are you?
27
echo returns void so its execution is faster than print and printf