PHP echo, baskı ve print_r arasındaki fark nedir?

6 Cevap

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.

6 Cevap

echo

  • Çıkışlar bir veya daha fazla dizeleri virgülle ayırarak
  • Hiçbir dönüş değeri

    örneğin echo "String 1", "String 2"

print

  • Tek bir dize Çıkışlar
  • İade 1, bu nedenle, bir ifadede kullanılabilir

    örneğin print "Hello"

    ya da if ($expr && print "foo")

print_r()

  • Çıkışlar herhangi bir one değer bir insan okunabilir temsil
  • Değil sadece dizeler ama diziler ve nesneler dahil olmak üzere diğer türleri, okunabilir olması için onları biçimlendirme Kabul
  • Ayıklarken Yararlı
  • İkinci argüman isteğe bağlı verilir if (yerine yansımaları) bir dönüş değeri olarak çıktı dönebilir miyim

var_dump()

  • Çıkışlar virgülle ayırarak one or more değerleri okunabilir bir temsilidir
  • Değil sadece dizeler ama diziler ve nesneler dahil olmak üzere diğer türleri, okunabilir olması için onları biçimlendirme Kabul
  • print_r(), örneğin, aynı zamanda type değerleri baskılar için farklı bir çıkış biçimini kullanır
  • Ayıklarken Yararlı
  • Hiçbir dönüş değeri

Notlar:

  • 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.
  • Oysa 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: hemen çıkışa değerini yazdırmak olacak.
  • dönen: bir dizge olarak işlevin çıktı dönecektir. Günlüğü, vb için Faydalı
echo

Dönüş türünü sahip değil

print

Dönüş türü var

print_r()

Biçimlendirilmiş gibi çıkışları,

Echo:

It is statement not a function No return value

Parantez Gerekmez

Array Yazdır Değil

Print

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