Jednotlivé úvodzovky a úvodzovky sú v PHP spracované trochu inak. Čítajte ďalej, aby ste videli rozdiely v ich hodnotení.
Jednoduché úvodzovky
Jednotlivé úvodzovky majú tendenciu analyzovať veci v oveľa doslovnejšom zmysle. Napríklad:
$ test = "BOOOM"; echo '$ test'
Názov premennej, keď sa vloží do jednoduchých úvodzoviek, sa nebude analyzovať na svoju skutočnú hodnotu. Tu je prehľad toho, čo sa skutočne spúšťa ako jednoduchý program php:
$ skúška
Existujú iba dva scenáre, ktoré si môžem predstaviť, kde sa informácie skutočne analyzujú v rámci jedného citovaného reťazca. Po prvé, na zobrazenie jedného citovaného znaku musí predchádzať lomka. V opačnom prípade sa bude interpretovať ako koniec reťazca. Po druhé, ak chcete zobraziť spätné lomítko, musí mu predchádzať ďalšie spätné lomítko. Príklad:
echo 'single quote: \' '; echo 'lomítko: \\';
Dvojité úvodzovky
Dvojité úvodzovky majú tendenciu analyzovať veci za vás. Pri spustení medzi úvodzovkami:
$ test = "BOOOM"; echo „$ test“
Vypíše skutočnú hodnotu premennej:
BOOM
Teraz sa občas dostanete do scenára, v ktorom je názov premennej, ktorú sa snažíte vydať, kvôli nesprávnym analýzam kvôli niektorým okolitým znakom správne analyzovaný.
$ test = "BOOOM"; echo „$ testované“;
Čo si myslíte, že tu získate výstup? Odpoveď nie je nič. PHP hľadá premennú s názvom $ testovanú a keďže neexistuje, na výstupe nie je nič. Správny spôsob výstupu hodnoty, za ktorým nasleduje „ed“, by bol:
$ test = "BOOOM"; echo "{$ test} ed";
Tým, že ho zalomí do zložených zátvoriek, umožní PHP vedieť, kde sa premenná začína a zastavuje, čo jej umožňuje správne vyhodnotiť túto premennú.
Rýchlostný rozdiel
Uskutočnil som niekoľko jednoduchých testov na vyhodnotenie niektorých scenárov rozdielov, rozdiel v rýchlosti medzi dvoma je zanedbateľný. Jednotlivé úvodzovky boli tak trochu rýchlejšie, pretože nemuseli hľadať nejakú premennú a potom analyzovať hodnotu, ale nikdy som sa nestretol so scenárom, v ktorom by to spôsobilo nejaký rozdiel. Používajte podľa toho, čo vyhovuje vašim súčasným potrebám.
