PHP – virgolette singole e doppie

10 Set

Out Of Date Warning

Questo post è stato pubblicato più di 2 anni fa (il 10 settembre 2011). Le idee vanno avanti velocemente, le prospettive cambiano quindi i contenuti potrebbero non essere aggiornati. Ti prego di tenere in considerazione questo, e di verificare le informazioni tecniche presenti nell'articolo prima di farne affidamento per i tuoi scopi.

In PHP è importante capire come le virgolette singole differiscono dalle virgolette doppie.

Questo è un concetto estremamente banale per chi ha familiarità con il linguaggio, ma per i neofiti spesso può provocare una certa confusione.

Con echo() e print(), o quando assegnamo dei valori alle stringhe, possiamo utilizzare tranquillamente entrambe.

Ma c’è una differenza fondamentale tra i due tipi di virgolette e, sul quando si dovrebbe usare l’una piuttosto che l’altra.

In PHP, i valori racchiusi tra apici singoli (') saranno trattati come letterali, mentre quelli racchiusi tra doppi apici (") saranno interpretati.

In altre parole, l’immissione di variabili e caratteri speciali tra virgolette doppie si tradurrà nei loro valori rappresentati, non nei loro valori letterali. Esempio:

Il codice echo "var = $var"; stamperà var = prova, mentre il codice echo 'var = $var'; stamperà var = $var.

Inoltre visto che le stringhe possono contenere qualsiasi carattere e visto che alcuni di questi non possono essere scritti, essi richiedono una notazione speciale, anteponendo il backslash al carattere.

Le virgolette singole a differenza di quelle doppie non supportano le sequenze di escape o meglio, gli unici due metodi di escape supportati sono ' e \.

Come questi esempi dovrebbero illustrare, le virgolette doppie andranno a sostituire il nome di una variabile ($tot) con il suo valore, ed il codice di un carattere speciale ($) con il suo valore rappresentato ($).

Gli apici singoli visualizzeranno sempre letteralmente il loro contenuto, fatta eccezione per (') e (\), che vengono stampati come una virgoletta singola e una singola barra rovesciata, rispettivamente.

Se si dovesse stampare del codice HTML utilizzando le virgolette doppie, dovremmo utilizzare l’escape per tutte le doppie virgolette nella stringa, quindi è decisamente più comodo usare le virgolette singole:

Conclusioni

Poiché PHP cercherà di trovare le variabili tra virgolette doppie, utilizzando le virgolette singole è teoricamente più veloce. Se avete bisogno di stampare il valore di una variabile, però, è necessario utilizzare le virgolette doppie.

2 Commenti su “PHP – virgolette singole e doppie”

  1. Carol 26 settembre 2011 at 05:36 #

    Much appreciated for the information and share!

  2. Fabio 4 giugno 2013 at 09:28 #

    Ciao, grande articolo, grazie per avermi chiarito questo dubbio che continuava a rallentare il mio lavoro !!

Lascia un commento