Saya menggunakan echodan print_rbanyak, dan hampir tidak pernah menggunakan print.
Saya merasa echomakro, dan print_ralias var_dump.
Tapi itu bukan cara standar untuk menjelaskan perbedaan.
Saya menggunakan echodan print_rbanyak, dan hampir tidak pernah menggunakan print.
Saya merasa echomakro, dan print_ralias var_dump.
Tapi itu bukan cara standar untuk menjelaskan perbedaan.
Jawaban:
printdan echokurang lebih sama; keduanya adalah konstruksi bahasa yang menampilkan string. Perbedaannya halus: printmemiliki nilai balik 1 sehingga dapat digunakan dalam ekspresi sedangkan echomemiliki voidtipe kembali; echodapat mengambil banyak parameter, meskipun penggunaannya jarang; echosedikit lebih cepat dariprint . (Secara pribadi, saya selalu menggunakan echo, tidak pernah print.)
var_dumpmencetak dump terperinci dari suatu variabel, termasuk jenisnya dan jenis setiap sub-item (jika berupa array atau objek). print_rmencetak variabel dalam bentuk yang lebih bisa dibaca manusia: string tidak dikutip, tipe informasi dihilangkan, ukuran array tidak diberikan, dll.
var_dump biasanya lebih bermanfaat daripada print_r saat debugging, menurut pengalaman saya. Ini sangat berguna ketika Anda tidak tahu persis nilai / tipe apa yang Anda miliki dalam variabel Anda. Pertimbangkan program pengujian ini:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
Dengan print_rAnda tidak dapat membedakan antara 0dan 0.0, atau falsedan '':
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
gema
Tidak ada nilai balik
misalnya echo "String 1", "String 2"
mencetak
Kembali 1 , sehingga dapat digunakan dalam ekspresi
misalnya print "Hello"
atau, if ($expr && print "foo")
print_r ()
var_dump ()
print_r(), misalnya juga mencetak jenis nilaivar_export ()
print_r()danvar_dump() - hasil yang dihasilkan adalah kode PHP yang valid!Catatan:
printdapat digunakan dalam ekspresi, saya sarankan orang-orang menghindari melakukannya, karena itu buruk untuk keterbacaan kode (dan karena itu tidak mungkin berguna). Aturan yang diutamakan ketika berinteraksi dengan operator lain juga bisa membingungkan. Karena itu, saya pribadi tidak pernah punya alasan untuk menggunakannya echo.echodan printmerupakan konstruksi bahasa, print_r()dan var_dump()/ var_export()adalah fungsi biasa. Anda tidak perlu tanda kurung untuk melampirkan argumen ke echoatau print(dan jika Anda menggunakannya, mereka akan diperlakukan seperti dalam ekspresi).var_export()mengembalikan kode PHP yang valid yang memungkinkan nilai untuk dibaca kembali nanti, bergantung pada kode produksi ini dapat membuatnya lebih mudah untuk memperkenalkan kerentanan keamanan karena kebutuhan untuk digunakan eval(). Akan lebih baik menggunakan format seperti JSON sebagai gantinya untuk menyimpan dan membaca kembali nilai-nilai. Kecepatannya akan sebanding.echo $a, $b;sintaks ketika Anda bisa melakukannya echo $a . $b;: jika $ a atau $ b adalah string yang sangat besar maka yang terakhir akan menggunakan memori ekstra dan waktu membuat versi string yang terpisah dari string dalam memori sebelum itu. dapat mulai mengeluarkan ke browser.
echo $a; echo $b;juga.
Hanya untuk menambah jawaban John ,echo harus menjadi satu-satunya yang Anda gunakan untuk mencetak konten ke halaman.
printsedikit lebih lambat. var_dump()danprint_r() seharusnya hanya digunakan untuk debug.
Juga layak disebutkan adalah bahwa print_r()dan var_dump()akan bergema secara default, tambahkan argumen kedua untuk print_r()setidaknya yang mengevaluasi true untuk mendapatkannya kembali, misalnya print_r($array, TRUE).
Perbedaan antara gema dan kembali adalah:
echoing dan returning?
print_rparam yang kembali cukup banyak ketika saya coding PHP. Namun, saya cenderung menulis print_r( $foo, 1 );. Ini lebih cepat untuk mengetik;) Dan tentang ini saya tidak terlalu peduli tentang keterbacaan karena saya menemukan nama print_rtidak terlalu deskriptif juga.
var_dump()tidak mendukung argumen kedua yang memungkinkannya untuk mengembalikan nilai seperti print_r()tidak, karena var_dump()dapat menerima beberapa argumen untuk ditampilkan.
echo
Tidak memiliki tipe pengembalian
print
Memiliki tipe pengembalian
print_r()
Output seperti yang diformat,
Perbedaan antara echo , print , print_r dan var_dump sangat sederhana.
gema
gema sebenarnya bukan fungsi tetapi konstruksi bahasa yang digunakan untuk mencetak hasil. Ini sedikit lebih cepat daripada cetak.
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)
Anda juga dapat menggunakan pernyataan gema dengan atau tanpa tanda kurung
echo ("Hello World"); // this will print Hello World
mencetak
Sama seperti echo construct print juga konstruksi bahasa dan bukan fungsi nyata. Perbedaan antara gema dan cetak adalah bahwa cetak hanya menerima argumen tunggal dan cetak selalu kembali 1. Sedangkan gema tidak memiliki nilai balik. Jadi pernyataan cetak dapat digunakan dalam ekspresi.
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)
Sama seperti gema , hasil cetak dapat digunakan dengan atau tanpa tanda kurung.
print ("Hello World"); // this will print Hello World
print_r
Fungsi print_r () digunakan untuk mencetak informasi yang dapat dibaca manusia tentang suatu variabel. Jika argumennya adalah array, fungsi print_r () mencetak kunci dan elemennya (sama untuk objek).
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
Fungsi var_dump biasanya digunakan untuk debugging dan mencetak informasi (tipe dan nilai) tentang variabel / array / objek.
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" }
Gema :
Ini adalah pernyataan bukan fungsi Tidak ada nilai balik
Tidak Diperlukan tanda kurung
Tidak Mencetak Array
Mencetak
Ini adalah fungsi nyata
Jenis kembali 1
Diperlukan tanda kurung
Tidak Mencetak Array
Print_r
Cetak dalam format yang dapat dibaca manusia
String tidak dalam Kutipan
Tidak Detail Informasi dari Variabel seperti jenis dan semua
var_dump
Semua informasi dump variabel seperti jenis elemen dan sub elemen
printadalah tidak fungsi nyata, itu adalah bahasa seperti gema. Itu juga bisa digunakan sebagai pernyataan. echoadalah tidak pernyataan juga tidak dapat digunakan dalam satu. printtidak tidak memerlukan tanda kurung, juga tidak baik gema atau mencetak menggunakan tanda kurung seperti fungsi akan. Anda juga melewatkan salah satu perbedaan utama - gema menerima beberapa string ke gema yang dipisahkan oleh koma.
** Echocan menerima banyak ekspresi sementara hasil cetak tidak bisa. Fungsi Print_r () PHP digunakan untuk mengembalikan array dalam bentuk yang dapat dibaca manusia. Ini hanya ditulis sebagai
![Print_r ($your_array)][1]
echo: echo adalah konstruksi bahasa di mana tidak diperlukan untuk menggunakan tanda kurung dengannya dan dapat mengambil sejumlah parameter dan mengembalikan batal.
void echo (param1,param2,param3.....);
Example: echo "test1","test2,test3";
print: ini adalah konstruksi bahasa di mana tidak perlu menggunakan tanda kurung itu hanya mengambil satu parameter dan kembali
1 always.
int print(param1);
print "test1";
print "test1","test2"; // It will give syntax error
prinf: Ini adalah fungsi yang membutuhkan minimal satu string dan gaya format dan mengembalikan panjang string output.
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() digunakan untuk mencetak array dalam format yang dapat dibaca manusia.
print_r () dapat mencetak nilai tetapi juga jika parameter flag kedua dilewatkan dan BENAR - itu akan mengembalikan hasil cetak sebagai string dan tidak ada yang mengirim ke output standar. Tentang var_dump. Jika XDebug debugger diinstal maka hasil output akan diformat dengan cara yang jauh lebih mudah dibaca dan dimengerti.