Rumah >pembangunan bahagian belakang >tutorial php >PHP `echo` vs. `print`: Bilakah Anda Harus Menggunakan Setiap?
PHP menawarkan dua binaan, cetakan dan gema, yang memudahkan operasi output. Walaupun ia mungkin kelihatan berbeza, ia berkongsi persamaan, dengan gema menjadi versi cetakan yang lebih serba boleh.
Operasi Dalaman:
Kedua-dua cetakan dan gema akhirnya dikendalikan oleh opcode yang sama, "ZEND_ECHO_SPEC_CONST_HANDLER," yang memastikan ia mengembalikan nilai 1.
Sintaks:
Cetakan memerlukan satu operan (ungkapan), manakala gema boleh mengendalikan berbilang operan.
Sebagai Penyata:
Echo ialah kenyataan, sintaksis serupa dengan konstruk if atau while, dan tidak boleh menjadi sebahagian daripada ungkapan. Sebaliknya, cetakan boleh berdiri sendiri sebagai pernyataan atau disertakan dalam ungkapan.
Analogi Pengendali:
Cetakan bertindak seperti pengendali unari, tetapi secara teknikalnya tidak. Ia hanya menerima satu hujah dan keputusannya (sentiasa 1) boleh berguna untuk dimasukkan dalam ungkapan.
Pernyataan Bersyarat:
Nilai pulangan cetakan ( 1) membolehkan ia digunakan dalam ungkapan bersyarat. Ini boleh berfaedah untuk menyahpepijat atau mengawal aliran pelaksanaan, seperti yang dilihat dalam contoh berikut:
if (foo()) { print "In and out...\n"; bar(); }
Penyahpepijatan:
Cetakan boleh membantu untuk penyahpepijatan segera, kerana ia membenarkan output pantas tanpa membungkus dalam pernyataan gema, seperti yang ditunjukkan di bawah:
$haystack = 'abcde'; $needle = 'f'; strpos($haystack, $needle) !== FALSE or print "$needle not in $haystack"; // Output: f not in abcde
Cetak: Konstruk bahasa, bukan fungsi, serupa dengan kata kunci seperti isset atau kosong.
Gema: Sama ada binaan bahasa mahupun fungsi; ia menggunakan kurungan untuk menghuraikan ungkapan dan bukannya menggunakan fungsi.
Berbilang Argumen:
Kedua-dua cetakan dan gema memerlukan pernyataan berasingan untuk berbilang argumen, mis. :
print 1, 2, 3; // Syntax error echo 1, 2, 3; // Syntax error
Semantik, kedua-dua cetakan dan gema boleh dilihat sebagai gula sintaksis untuk berulang kali memanggil cetakan. Pertimbangkan perkara berikut:
echo 1, 2, 3; // Equivalent to: print 1; print 2; print 3;
Echo mempunyai lebih sedikit opcode berbanding cetakan, menghasilkan prestasi yang lebih baik sedikit.
Cetak:
PRINT var, result
Gema:
ECHO var
Echo mewakilkan proses pencetakan kepada fungsi berasingan (zend_print_variable) berdasarkan jenis pembolehubah (objek atau tidak). Ini menambah lapisan overhed tambahan berbanding cetakan.
Dalam kebanyakan kes, disyorkan untuk menggunakan gema kerana kesederhanaan, serba boleh dan faedah prestasinya. Walau bagaimanapun, jika anda memerlukan nilai pulangan untuk penyataan bersyarat atau tujuan penyahpepijatan, cetakan masih boleh berguna.
Atas ialah kandungan terperinci PHP `echo` vs. `print`: Bilakah Anda Harus Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!