Anonim

Le virgolette singole e doppie sono gestite in PHP in modo leggermente diverso. Continua a leggere per vedere le differenze nel modo in cui vengono valutate.

Citazioni singole

Le virgolette singole tendono ad analizzare le cose in un senso molto più letterale. Ad esempio, prendi quanto segue:

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

Il nome della variabile, quando inserito tra virgolette singole, non viene analizzato al suo valore effettivo. Ecco cosa viene effettivamente stampato eseguendolo come un semplice programma php:

$ test

Ci sono solo 2 scenari a cui posso pensare dove le informazioni vengono effettivamente analizzate all'interno di una singola stringa tra virgolette. Innanzitutto, per visualizzare un singolo carattere tra virgolette, deve essere preceduto da una barra rovesciata. Altrimenti verrà interpretato come la fine della stringa. In secondo luogo, per visualizzare una barra rovesciata, deve essere preceduta da un'altra barra rovesciata. Esempio:

echo 'virgoletta singola: \' '; echo 'backslash: \\';

Virgolette

Le doppie virgolette tendono ad analizzare le cose per te. Quando viene eseguito tra virgolette doppie:

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

Emette il valore della variabile attuale:

BOOOM

Ora, di tanto in tanto ti imbatterai in uno scenario in cui il nome della variabile che stai provando a generare non viene analizzato correttamente a causa di alcuni caratteri circostanti.

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

Cosa pensi che ottenga qui? La risposta è nulla PHP cerca una variabile denominata $ testata e poiché non esiste, non viene emesso nulla. Il modo corretto di generare il valore seguito da 'ed' sarebbe:

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

Avvolgendolo tra parentesi graffe, consente a PHP di sapere dove inizia e si ferma la variabile, permettendole di valutare correttamente la variabile.

Differenza di velocità

Ho eseguito alcuni semplici test di benchmarking per valutare alcuni scenari di differenza, la differenza di velocità tra i 2 è trascurabile. Le virgolette singole sono state così leggermente più veloci a causa del fatto che non è necessario cercare una variabile e quindi analizzare il valore, ma non ho mai incontrato uno scenario in cui abbia fatto abbastanza differenza per importare. Utilizzare quello che si adatta alle proprie esigenze attuali.

Differenza tra virgolette singole e virgolette doppie in php