


Lösung für Fehler beim Zugriff auf Array-Elemente in doppelten PHP-Anführungszeichen. PHP-Kenntnisse
Der folgende Editor wird Ihnen eine Lösung für den Fehler beim Zugriff auf Array-Elemente in doppelten PHP-Anführungszeichen vorstellen. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich ist. Folgen wir dem Editor, um einen Blick darauf zu werfen
Kürzlich entwickle ich ein öffentliches WeChat-Konto. In einer Schnittstelle zum Senden von Grafiken und Text muss ich Array-Elemente in einen XML-String zusammenfügen
foreach ($itemArr as $key => $value){ $items .= "<item> <Title><![CDATA[$value['title']]]></Title> <Description><![CDATA[[$value['description']]]></Description> <PicUrl><![CDATA[$value['picUrl']]]></PicUrl> <Url><![CDATA[$value['url']]]></Url> </item>"; }
Das Ergebnis war die folgende Fehlermeldung:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in D:\hhp\wamp\www\weixin\wx_sample.php on line 146
Aus der Fehlermeldung geht hervor, dass es sich um ein Problem mit einfachen Anführungszeichen handelt. Nach der entscheidenden Entfernung liegt kein Fehler vor. Ich bin jedoch verwirrt. Sollten Array-Elementen, deren Indizes Zeichenfolgen sind, nicht Anführungszeichen hinzugefügt werden? Ich habe das offizielle PHP-Handbuch gelesen, um die Beschreibung von Arrays zu lesen:
$arr = array('fruit' => 'apple', 'veggie' => 'carrot'); // This will not work, and will result in a parse error, such as: // Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING' // This of course applies to using superglobals in strings as well print "Hello $arr['fruit']"; print "Hello $_GET['foo']";
Es gibt zwei falsche Schreibweisen gewöhnlich Wenn eine Array-Variable oder superglobale Array-Variable in doppelte Anführungszeichen eingeschlossen ist und auf das Array-Element verweist, dessen Index eine Zeichenfolge ist, sollte die Indexzeichenfolge nicht in einfache Anführungszeichen gesetzt werden. Wie schreibt man es also richtig? Also suchte ich weiter im offiziellen Handbuch und fand die folgende Aussage:
$arr = array('fruit' => 'apple', 'veggie' => 'carrot'); // This defines a constant to demonstrate what's going on. The value 'veggie' // is assigned to a constant named fruit. define('fruit', 'veggie'); // The following is okay, as it's inside a string. Constants are not looked for// within strings, so no E_NOTICE occurs hereprint "Hello $arr[fruit]"; // Hello apple// With one exception: braces surrounding arrays within strings allows constants// to be interpretedprint "Hello {$arr[fruit]}"; // Hello carrotprint "Hello {$arr['fruit']}"; // Hello apple $arr = array('fruit' => 'apple', 'veggie' => 'carrot'); // This defines a constant to demonstrate what's going on. The value 'veggie' // is assigned to a constant named fruit. define('fruit', 'veggie'); // The following is okay, as it's inside a string. Constants are not looked for // within strings, so no E_NOTICE occurs here print "Hello $arr[fruit]"; // Hello apple // With one exception: braces surrounding arrays within strings allows constants // to be interpreted print "Hello {$arr[fruit]}"; // Hello carrot print "Hello {$arr['fruit']}"; // Hello apple
Hier sind drei richtige Schreibweisen:
Die erste Schreibweise besteht darin, die Zeichenfolge ohne Anführungszeichen zu indizieren. Zu diesem Zeitpunkt bedeutet dies, das Array-Element abzurufen, dessen Index ist die Schnurfrucht und der Ausgabeapfel.
Bei der zweiten Schreibweise der Indexzeichenfolge werden keine Anführungszeichen hinzugefügt und gleichzeitig wird die Array-Variable in ein Paar geschweifte Klammern eingeschlossen { }. Zu diesem Zeitpunkt ist Obst tatsächlich eine Konstante und keine Zeichenfolge. Es bedeutet also, dass das Array-Element, dessen Index der Fruchtkonstantenwert ist, veggie ist, sodass Karotte ausgegeben wird.
Die dritte Schreibweise besteht darin, die Zeichenfolge nicht nur durch das Hinzufügen von einfachen Anführungszeichen in Anführungszeichen zu setzen, sondern auch die Array-Variable mit einem Paar geschweifter Klammern { } zu umschließen. Auf diese Weise wird Apfel ausgegeben, wenn es darum geht, das Array-Element abzurufen, dessen Index die Zeichenfolge Fruit ist.
Später habe ich weiter gesucht und diesen Code gefunden:
// Incorrect. This works but also throws a PHP error of level E_NOTICE because // of an undefined constant named fruit // // Notice: Use of undefined constant fruit - assumed 'fruit' in... print $arr[fruit]; // apple <pre name="code" class="php">print $arr['fruit']; // apple
// This defines a constant to demonstrate what's going on. The value 'veggie'// is assigned to a constant named fruit.define('fruit', 'veggie');// Notice the difference nowprint $arr[fruit]; // carrot print $arr['fruit']; // apple
Im Normalfall sind die Ausgabeergebnisse konsistent, wenn die Array-Variable nicht in doppelte Anführungszeichen gesetzt ist, unabhängig davon, ob der Indexzeichenfolge einfache Anführungszeichen hinzugefügt werden. Wenn jedoch eine Konstante mit demselben Namen wie die Indexzeichenfolge definiert wird , wird die Indexzeichenfolge ohne einfache Anführungszeichen angezeigt, aber das Hinzufügen von einfachen Anführungszeichen ist immer noch Apfel.
Schlussfolgerung:
1. Wenn die Array-Variable nicht in doppelte Anführungszeichen gesetzt ist,
(1) Die Indexzeichenfolge mit einfachen Anführungszeichen stellt die Zeichenfolge selbst dar
<pre name="code" class="php">$arr['fruit']
(2) Die Indexzeichenfolge ohne einfache Anführungszeichen stellt a dar Konstante: Wenn die Konstante undefiniert ist, wird sie als Zeichenfolge analysiert, was dem Hinzufügen einfacher Anführungszeichen entspricht.
$arr[fruit]
2. Wenn die Array-Variable in doppelte Anführungszeichen gesetzt ist,
( 1) Die Indexzeichenfolge ohne einfache Anführungszeichen stellt die Zeichenfolge selbst dar
"$arr[fruit]"
(2) Die Array-Variable mit geschweiften Klammern stellt die Konstante mit demselben Namen wie die Zeichenfolge dar
"{$arr[fruit]}"
(3) Die Indexzeichenfolge plus einfache Anführungszeichen und die Array-Variable plus geschweifte Klammern stellen die Zeichenfolge selbst dar
<pre name="code" class="php"><pre name="code" class="php">"{$arr['fruit']}"
(4) Die Indexzeichenfolge ist in einfache Anführungszeichen gesetzt und die Array-Variable ist nicht in geschweifte Klammern eingeschlossen, was eine falsche Schreibweise ist. Der Fehler wird gemeldet: Parse-Fehler: parse Fehler, erwartet T_STRING' oder T_VARIABLE' oder T_NUM_STRING'
<pre name="code" class="php"><pre name="code" class="php">"$arr['fruit']"
Anhang: PHP-Handbuch-Array-Beschreibungs-URL
http:// php.net/manual/zh/sprache.types.array. php
Die obige Lösung basiert auf dem Fehler, der beim Zugriff auf Array-Elemente in PHP-Anführungszeichen angezeigt wird. Ich hoffe, dass dies der Fall ist Ich gebe Ihnen eine Referenz und hoffe, dass Sie die chinesische PHP-Website unterstützen.
Artikel, die Sie interessieren könnten:
php So löschen Sie ein Wertelement in einem eindimensionalen Array PHP-Tipps
PHP implementiert die inverse Farbverarbeitungsfunktion von Bildern. PHP-Kenntnisse
Ein Beispiel für die Installation von PHP-Erweiterungen über die PECL-Methode erklärt PHP-Kenntnisse
Das obige ist der detaillierte Inhalt vonLösung für Fehler beim Zugriff auf Array-Elemente in doppelten PHP-Anführungszeichen. PHP-Kenntnisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.
