Çok kullanıyorum echove print_rneredeyse hiç kullanmıyorum print.
echoBir makro ve print_rbir takma ad olduğunu hissediyorum var_dump.
Ancak bu, farklılıkları açıklamanın standart yolu değildir.
Çok kullanıyorum echove print_rneredeyse hiç kullanmıyorum print.
echoBir makro ve print_rbir takma ad olduğunu hissediyorum var_dump.
Ancak bu, farklılıkları açıklamanın standart yolu değildir.
Yanıtlar:
printve echoaz çok aynı; her ikisi de dizeleri görüntüleyen dil yapılarıdır. Farklar inceliklidir: print1 dönüş değerine sahiptir, bu nedenle ifadelerde kullanılabilirken echobir voiddönüş türü vardır; echobu tür kullanım nadir olmasına rağmen birden fazla parametre alabilir; echobiraz daha hızlıprint . (Şahsen ben echoasla kullanmam , asla print.)
var_dumpbir değişkenin türü ve alt öğelerin türü de dahil olmak üzere (bir dizi veya nesne ise) bir değişkenin ayrıntılı dökümünü yazdırır. print_rbir değişkeni daha okunabilir biçimde yazdırır: dizeler tırnak içine alınmaz, tür bilgileri atlanır, dizi boyutları verilmez vb.
var_dumpgenellikle print_rhata ayıklama, deneyimlerime göre daha yararlıdır . Değişkenlerinizde tam olarak hangi değerlere / türlere sahip olduğunuzu bilmediğinizde özellikle kullanışlıdır. Bu test programını düşünün:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
İle print_rarasındaki farkı söyleyemem 0ve 0.0ya falseve '':
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
Eko
Dönüş değeri yok
Örneğin echo "String 1", "String 2"
Yazdır
1Bir ifadede kullanılabilmesi için döndürür
Örneğin print "Hello"
veya, if ($expr && print "foo")
print_r ()
var_dump ()
print_r(), örneğin değer türlerini de yazdırırvar_export ()
print_r()ve var_dump()sonuçta elde edilen çıktı geçerli PHP kodudur!Notlar:
printbir ifadenin kullanılabilir, insanların bu kod okunabilirliği için kötüdür, çünkü bunu yaparken (ve şimdiye kadar yararlı olmayacaktır çünkü) kaçının önerilir. Diğer operatörlerle etkileşime girdiğinde öncelik kuralları da kafa karıştırıcı olabilir. Bu nedenle, şahsen bunu kullanmak için hiçbir nedenim yok echo.echove printdil kurguları print_r()ve var_dump()/ var_export()ve düzenli işlevlerdir. Sen argümanlar içine için parantez gerekmez echoveya print(eğer bunları kullanmak yaparsanız bir ifadedeki onlar olduğu gibi ve onlar tedavi olacak).var_export()döner geçerli PHP kodu sağlayan değerler daha sonra tekrar okunacak, üretim kodu için bu güvenerek daha kolay dolayı kullanım ihtiyacına güvenlik açıklarını tanıtmak yapabilir eval(). Değerleri saklamak ve yeniden okumak için JSON gibi bir biçim kullanmak daha iyi olur. Hız karşılaştırılabilir olacaktır.echo $a, $b;yapabileceğiniz zaman sözdiziminin ne zaman olmasını istediğinize dair kısa bir not echo $a . $b;: $ a veya $ b gerçekten büyük dizeler ise, ikincisi ekstra bellek kullanır ve zaman önce dizideki dizelerin ayrı birleştirilmiş bir versiyonunu oluşturur tarayıcıdan çıktı almaya başlayabilir.
echo $a; echo $b;.
Sadece John'un cevabına eklemek için , echoiçeriği sayfaya yazdırmak için kullandığınız tek kişi olmalıdır.
printbiraz daha yavaştır. var_dump()ve print_r()yalnızca hata ayıklamak için kullanılmalıdır.
Ayrıca kayda değer bir şeydir print_r()ve var_dump()varsayılan olarak yankılanacaktır, print_r()bunun yerine en azından true olarak değerlendirilen ikinci argümanı ekleyin print_r($array, TRUE);
Yankı ve geri dönüş arasındaki fark:
echoing ve returning arasındaki fark nedir?
print_rPHP kodlama yaparken dönen param çok kullandım . Ancak, yazma eğilimindeydim print_r( $foo, 1 );. Yazmak daha hızlı;) Ve bu konuda, adı print_rda çok açıklayıcı değilken okunabilirlik hakkında çok fazla umursamıyorum .
var_dump()çıktı gibi birden çok argümanı kabul edebileceğinden , ikinci argümanı olduğu gibi bir değer döndürmesine izin print_r()vermez var_dump().
echo
Dönüş türü olmaması
print
Dönüş türü var
print_r()
Biçimlendirilmiş çıktılar,
Echo , print , print_r ve var_dump arasındaki fark çok basittir.
Eko
echo aslında bir işlev değil, çıktıyı yazdırmak için kullanılan bir dil yapısıdır. Baskıdan biraz daha hızlı.
echo "Hello World"; // this will print Hello World
echo "Hello ","World"; // Multiple arguments - this will print Hello World
$var_1=55;
echo "$var_1"; // this will print 55
echo "var_1=".$var_1; // this will print var_1=55
echo 45+$var_1; // this will print 100
$var_2="PHP";
echo "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with echo (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with echo (loop or index value required)
Echo ifadesini parantezle veya parantez olmadan da kullanabilirsiniz
echo ("Hello World"); // this will print Hello World
Yazdır
Tıpkı echo construct print gibi gerçek bir işlev değil, bir dil yapısıdır. Arasındaki farklar yankı ve baskı olmasıdır baskı sadece tek bir argüman kabul eder ve baskı Oysa 1. döndürür hep yankı geri dönüşü değeri vardır. Dolayısıyla print deyimi ifadelerde kullanılabilir.
print "Hello World"; // this will print Hello World
print "Hello ","World"; // Multiple arguments - NOT POSSIBLE with print
$var_1=55;
print "$var_1"; // this will print 55
print "var_1=".$var_1; // this will print var_1=55
print 45+$var_1; // this will print 100
$var_2="PHP";
print "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with print (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with print (loop or index value required)
Eko gibi , baskı parantez ile veya parantez olmadan kullanılabilir.
print ("Hello World"); // this will print Hello World
print_r
Print_r () işlevi, bir değişkene hakkında okunabilir bilgiler yazdırmak için kullanılır. Bağımsız değişken bir dizi ise, print_r () işlevi, anahtarlarını ve öğelerini yazdırır (nesneler için aynıdır).
print_r ("Hello World"); // this will print Hello World
$var_1=55;
print_r ("$var_1"); // this will print 55
print_r ("var_1=".$var_1); // this will print var_1=55
print_r (45+$var_1); // this will print 100
$var_2="PHP";
print_r ("$var_2"); // this will print PHP
$var_3=array(99,98,97) // this will print Array ( [0] => 1 [1] => 2 [2] => 3 )
$var_4=array("P"=>"3","J"=>"4"); // this will print Array ( [P] => 3 [J] => 4 )
var_dump
var_dump işlevi genellikle hata ayıklama için kullanılır ve bir değişken / dizi / nesne hakkındaki bilgileri (tür ve değer) yazdırır.
var_dump($var_1); // this will print int(5444)
var_dump($var_2); // this will print string(5) "Hello"
var_dump($var_3); // this will print array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
var_dump($var_4); // this will print array(2) { ["P"]=> string(1) "3" ["J"]=> string(1) "4" }
Yankı :
Bu bir işlev değil İade değeri yok
Parantez Gerekli Değil
Diziyi Yazdırmıyor
Yazdır
Gerçek bir işlevdir
Dönüş türü 1
Parantez Gerekli
Diziyi Yazdırmıyor
print_r
Okunabilir biçimde yazdırın
Dize Alıntılar içinde değil
Değil Türü ve hepsi gibi Değişken Detay Bilgileri
var_dump
Değişken tipi ve alt eleman gibi tüm döküm bilgileri
printolduğu değil , gerçek bir işlev, sadece yankı gibi bir dil oluşumudur. Ayrıca bir ifade olarak kullanılabilir. echoolduğu değil bir bildiri ne de birinde kullanılabilir. printyok değil parantez gerektiren, ne de her iki yankı yapmak ya da olur bir işlev gibi parantez kullanmak yazdırın. Ayrıca ana farklılıklardan birini kaçırdınız - echo, virgülle ayrılmış yankı için birden fazla dizeyi kabul eder.
** Yankı, baskı yapamıyorken birden fazla ifadeyi kabul edebilir. Print_r () PHP işlevi, bir diziyi insan tarafından okunabilir biçimde döndürmek için kullanılır. Basitçe şöyle yazılır
![Print_r ($your_array)][1]
echo: echo, parantezin kullanılması gerekmediği bir dil yapısıdır ve herhangi bir sayıda parametre alabilir ve geçersizlik döndürebilir.
void echo (param1,param2,param3.....);
Example: echo "test1","test2,test3";
print: Parantez kullanılmasına gerek olmayan bir dil yapısıdır, sadece bir parametre alır ve geri döner
1 always.
int print(param1);
print "test1";
print "test1","test2"; // It will give syntax error
prinf: En az bir dize ve biçim stili alan ve çıktı dizesinin uzunluğunu döndüren bir işlevdir.
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
print_r() diziyi insan tarafından okunabilir biçimde yazdırmak için kullanılır.
print_r () değer yazdırabilir, ancak ikinci bayrak parametresi geçildiyse ve DOĞRU ise - yazdırılan sonucu dize olarak döndürür ve hiçbir şey standart çıktıya gönderilmez. Var_dump hakkında. XDebug hata ayıklayıcı kurulursa, çıktı sonuçları çok daha okunabilir ve anlaşılır bir şekilde biçimlendirilir.