Enotni in dvojni narekovaji se v PHP-ju obravnavajo nekoliko drugače. Preberite si, če želite videti razlike v njihovi oceni.
Posamezne navedbe
Posamezni citati ponavadi razčlenijo stvari v veliko bolj dobesednem smislu. Za primer vzemite naslednje:
$ test = "BOOOM"; odmev '$ test'
Ime spremenljivke, kadar je umeščeno v posamezne navedbe, ni razčlenjeno na njegovo dejansko vrednost. Tukaj je tisto, kar je dejansko natisnjeno iz te funkcije kot preprostega programa za php:
$ test
Obstajata samo dva scenarija, pri katerih si lahko omislim, kje informacije dejansko razčlenijo znotraj enega citiranega niza. Prvič, če želite prikazati en citirani znak, mora biti pred njim poševna črta. V nasprotnem primeru bo tolmačeno kot konec vašega niza. Drugič, če želite prikazati poševno poševnico, mora biti še en nahrbtnik. Primer:
odmev 'en sam citat: \' '; odmev 'poševnica: \\';
Dvojne navedbe
Dvojne narekovaje ponavadi razčistijo stvari za vas. Ko tečete med dvojnimi narekovaji:
$ test = "BOOOM"; odmev "$ test"
Oddaja dejansko spremenljivo vrednost:
BOOOM
Zdaj se boste občasno srečali s scenarijem, pri katerem ime spremenljivke, ki jo poskušate izpisati, povzroči, da zaradi nekaterih okoliških znakov ni pravilno razčlenjeno.
$ test = "BOOOM"; odmev "$ preizkušen";
Kaj misliš, da je tukaj rezultat? Odgovor je nič. PHP išče spremenljivko z imenom $ preizkušeno, in ker ne obstaja, ne nastane nič. Pravilni način za izpis vrednosti, ki ji sledi 'ed', bi bil:
$ test = "BOOOM"; odmev "{$ test} ed";
S tem, ko ga ovije znotraj kodrastih oklepajev, PHP da vedeti, kje se spremenljivka začne in ustavi, kar ji omogoča pravilno oceno spremenljivke.
Hitrostna razlika
Izvedel sem nekaj preprostih primerjalnih testov za oceno nekaterih scenarijev razlik, razlika v hitrosti med dvema je zanemarljiva. Posamezni narekovaji so bili tako nekoliko hitrejši zaradi dejstva, da ni treba iskati spremenljivke in nato razčleniti vrednosti, nikoli pa nisem naletel na scenarij, kjer bi bilo dovolj pomembno, da je vseeno. Uporabite, kar ustreza vašim trenutnim potrebam.
