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