Unterschied zwischen einfachen und doppelten Anführungszeichen in PHP

Einfache und doppelte Anführungszeichen werden in PHP ein wenig anders behandelt. Lesen Sie weiter, um die Unterschiede in der Auswertung zu sehen.

Einzelzitate

Einfache Anführungszeichen tendieren dazu, die Dinge viel wörtlicher zu analysieren. Nehmen Sie zum Beispiel Folgendes:

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

Der Variablenname wird, wenn er in die einzelnen Anführungszeichen gesetzt wird, nicht auf seinen tatsächlichen Wert analysiert. Hier ist, was tatsächlich gedruckt wird, indem Sie dies als ein einfaches PHP-Programm ausführen:

 $ Test 

Es gibt nur zwei Szenarios, an die ich denken kann, wo Informationen innerhalb einer einzelnen Zeichenfolge in Anführungszeichen geparst werden. Um ein einzelnes Zeichen in Anführungszeichen anzuzeigen, muss ein Backslash vorangestellt werden. Andernfalls wird es als das Ende Ihrer Zeichenfolge interpretiert. Zweitens muss zum Anzeigen eines Backslash ein anderer Backslack vorangestellt werden. Beispiel:

 echo 'einfaches Zitat: \' '; Echo 'Backslash: \\'; 

Anführungszeichen

Doppelzitate neigen dazu, die Dinge für Sie zu analysieren. Wenn zwischen doppelten Anführungszeichen ausgeführt wird:

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

Es gibt den tatsächlichen Variablenwert aus:

 BOOOM 

Gelegentlich tritt ein Szenario auf, in dem der Variablenname, den Sie ausgeben möchten, wegen einiger umgebender Zeichen nicht korrekt geparst wird.

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

Was denkst du wird hier ausgegeben? Die Antwort ist nichts. PHP sucht nach einer Variablen mit dem Namen $ tested, und da sie nicht existiert, wird nichts ausgegeben. Die richtige Art, den Wert "ed" auszugeben, wäre:

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

Indem es in die geschweiften Klammern eingeschlossen wird, kann PHP wissen, wo die Variable startet und stoppt, damit sie die Variable richtig auswerten kann.

Geschwindigkeitsunterschied

Ich habe ein paar einfache Benchmark-Tests durchgeführt, um einige Differenzszenarien zu bewerten, der Unterschied in der Geschwindigkeit zwischen den 2 ist vernachlässigbar. Einfache Anführungszeichen waren alle etwas schneller, da sie nicht nach einer Variablen suchen und den Wert analysieren müssen, aber ich habe noch nie ein Szenario gefunden, in dem es einen Unterschied zur Materie machte. Verwenden Sie, was Ihren aktuellen Bedürfnissen entspricht.

Siehe Auch