Questo post per molti potrà sembrare inutile ma per altri potrebbe essere manna dal cielo: spesso non si pone troppa attenzione, nella concatenazione di stringhe con php, agli apici che si stanno utilizzando. Non tutti si ricordano di posizionare il carattere \ prima di un doppio apice quando la stringa è delimitata da doppi apici. Farò ora qualche esempio sperando di chiarire le idee una volta per tutte:
Apici singoli o doppi: che differenza fa?
Per prima cosa bisogna sapere che racchiudere una stringa tra apici singoli o doppi non è la stessa cosa. Se si utilizzano i doppi apici si possono inserire all’interno della stringa anche delle variabili:
$var = “ore”;
$stringa = “che $var sono?”;
$stringa assumerà il valore che ore sono?.
La stessa cosa non è possibile con gli apici singoli:
$var = “ore”;
$stringa = ‘che $var sono?’;
In questo caso $stringa assumera il valore che $var sono? Tutto chiaro? E con gli apici singoli, per ottenere lo stesso risultato che si ha utilizzando gli apici doppi, bisogna concatenare le diverse stringhe utilizzando il “.” (punto):
$stringa = ‘che ‘. $var .’ sono?’;
Personalmente, quindi, preferisco utilizzare gli apici doppi. Se, però, nella stringa compare di nuovo il carattere ” (doppio apice) bisogna precederlo con “\”. Il carattere “\” indica al preprocessore che sta per arrivare un carattere speciale. Se, poi, si vuole inserire una variabile di tipo array come $array["ciao_mondo"] bisogna fare attenzione al fatto che contiene i doppi apici. In un primo momento si potrebbe pensare di dover stampare $array[\"ciao_mondo\"], ma è sbagliatissimo. Per cui l’alternativa è inserire gli array tra parentesi graffe. Per farla breve, le parentesi graffe “isolano” un blocco di codice ed in questo caso specifico è come se concatenando la stringa venisse elaborato il contenuto delle parentesi graffe e venisse restituito proprio come se si fosse operato nel primo modo. Forse ci ho girato troppo attorno quindi eccovi l’esempio:
$array["ciao_mondo"] = “ore”;
$stringa = “che {$array["ciao_mondo"]} sono”;
Quando è preferibile utilizzare gli apici singoli o doppi?
Io, personalmente, utilizzo gli apici singoli quando devo inserire del codice HTML come ad esempio: $codice_html = ‘<div id=”identificatore”> … </div>’; In questo modo posso inserire tutte le volte che voglio dei doppi apici. Se facessila stessa cosa con gli apici doppi, mi raccomando di fare attenzione a questa cosa, dovrei fare: $codice_html = “<div id=\”identificatore\”> … </div>”; Il risultato sarebbe cmq lo stesso.