Heim > Artikel > Backend-Entwicklung > Warum erlaubt PHP eine Array-Interpolation ohne Anführungszeichen oder Klammern?
String-Interpolation assoziativer Arrays in PHP
Die Interpolation von PHP-String-indizierten Array-Elementen weist verschiedene Verhaltensweisen auf, die Benutzer überraschen können. Bei der Interpolation von Array-Elementen innerhalb von Zeichenfolgen in doppelte Anführungszeichen können folgende Beobachtungen gemacht werden:
Die Verwendung des Index des Array-Elements in geschweiften Klammern ($ha['key1']) oder Klammern ($ha[key1]) erzeugt das erwartete Ergebnis und führt zur Ausgabe einer Warnung (Verwendung einer undefinierten Konstante).
Allerdings wird das Array-Element interpoliert, ohne seinen Index einzuschließen Anführungszeichen oder Klammern ($ha[key1]) führen ebenfalls zur korrekten Ausgabe, obwohl sie syntaktisch unerwartet sind.
Dadurch stellt sich die Frage, warum die letzte Anweisung im unten bereitgestellten Codeausschnitt als gültige PHP-Syntax gilt:
<code class="php">print "He said $ha[key1]";</code>
Erklärung
Dieses Verhalten ist im PHP-Handbuch dokumentiert und wird berücksichtigt eine vertrauenswürdige Funktion. Obwohl die Syntax unkonventionell erscheinen mag, ist sie eine gültige Methode zum Interpolieren von Array-Elementen in Zeichenfolgen in doppelten Anführungszeichen.
Inkonsistenz
In der Dokumentation wird anerkannt, dass sich die PHP-Syntax weiterentwickelt hat Zeit, was zu Inkonsistenzen führt. In diesem Fall spiegelt die Möglichkeit, Array-Elemente zu interpolieren, ohne ihre Indizes in Anführungszeichen oder Klammern zu setzen, die historische Entwicklung von PHP wider und wird für neuen Code nicht empfohlen.
Das obige ist der detaillierte Inhalt vonWarum erlaubt PHP eine Array-Interpolation ohne Anführungszeichen oder Klammern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!