Anonim

Sebut harga tunggal dan petikan berganda ditangani sedikit berbeza dalam PHP. Baca terus untuk melihat perbezaan dalam cara mereka dinilai.

Petikan Tunggal

Petikan tunggal cenderung untuk mengurai perkara dalam arti yang lebih literal. Sebagai contoh, ambil yang berikut:

$ test = "BOOOM"; echo '$ test'

Nama pemboleh ubah, apabila dimasukkan ke dalam petikan tunggal tidak dihuraikan kepada nilai sebenarnya. Inilah yang sebenarnya dicetak daripada menjalankan ini sebagai program php yang mudah:

$ test

Terdapat hanya 2 senario yang boleh saya fikirkan di mana maklumat sebenarnya akan dihuraikan dalam satu baris sebut harga. Pertama, untuk memaparkan watak yang dipetik tunggal, ia mesti didahului oleh backslash. Jika tidak, ia akan ditafsirkan sebagai akhir rentetan anda. Kedua, untuk memaparkan backslash, ia mesti didahului oleh backslack yang lain. Contoh:

echo 'quote tunggal: \' '; echo 'backslash: \\';

Double Quotes

Sebut harga berganda cenderung menghuraikan perkara untuk anda. Apabila berlari antara petikan berganda:

$ test = "BOOOM"; echo "$ test"

Ia menghasilkan nilai pembolehubah sebenar:

BOOOM

Sekarang, kadangkala anda akan menghadapi senario di mana nama pemboleh ubah yang anda cuba keluarkan disebabkan tidak dapat dihuraikan dengan betul kerana beberapa watak sekitarnya.

$ test = "BOOOM"; echo "$ tested";

Apa yang anda fikir dapat output di sini? Jawapannya tidak ada apa-apa. PHP mencari pembolehubah bernama $ diuji, dan kerana ia tidak wujud, tiada output. Cara yang betul untuk mengeluarkan nilai yang diikuti dengan 'ed' adalah:

$ test = "BOOOM"; echo "{$ test} ed";

Dengan membungkusnya di dalam kurungan lengkung, ia membolehkan PHP mengetahui di mana pembolehubah bermula dan berhenti, membolehkannya mengevaluasi pembolehubah dengan betul.

Perbezaan kelajuan

Saya menjalankan beberapa ujian penanda aras mudah untuk menilai beberapa senario perbezaan, perbezaan dalam kelajuan antara 2 adalah diabaikan. Petikan-petikan tunggal sememangnya lebih cepat kerana fakta bahawa ia tidak perlu mencari pemboleh ubah dan kemudian menghuraikan nilai itu, tetapi saya tidak pernah mengalami senario di mana ia membuat cukup perbezaan untuk perkara. Gunakan mana-mana sesuai dengan keperluan semasa anda.

Perbezaan antara petikan tunggal dan petikan berganda dalam php