@Bastianoso

Assoziative Arrays fit für PHP 7 machen

Regulärer Ausdruck um den Code für PHP7 anzupassen, wenn man diese Fehlermeldung erhält: „PHP Warning: Use of undefined constant x – assumed ‚x‘ (this will throw an Error in a future version of PHP)“

Wen man assoziative Arrays in PHP benutzt, auf deren values man nicht mit einem numerischen Keys á la $user[0] oder $user[1] zugreift, sondern Namen dafür benutzt (zum Beispiel: $user[id] oder $user[name]), so wirft einem diese Vorgehensweise mit PHP Version 7 nun eine warning message ins Logfile:

PHP Warning: Use of undefined constant name – assumed ’name‘ (this will throw an Error in a future version of PHP)

Die Lösung wird ja glücklicherweise gleich mitgeliefert, denn man braucht den Namen des Wertes lediglich mit zwei Apostrophen zu versehen.

Aus dieser Notation:

Wird also diese Notation:

Und damit man nicht händisch via Suchen & Ersetzen durch alle Codefiles gehen muss, kann man sich mit diesem regulären Ausdruck die Arbeit vereinfachen:

RegEx für assoziative Arrays in PHP7

Suchen nach:

Ersetzen mit:

Dieses Suchmuster sucht nach den öffnenden und schließenden eckigen Klammern von Arrays [ + ] und prüft, ob darin alphabetische Zeichen von a bis z oder A bis Z drin vorkommen (mindestens eines, aber beliebig viele).

Lässt man das einmal über alle seine Daten laufen, sind die assoziativen Arrays korrekt ausgezeichnet. Ältere PHP-Versionen haben über diese, eigentlich falsche, Notation noch gütig hinweggesehen, aber bald ist es damit vorbei und die warning messages sind ein erstes Anzeichen dafür.

Apostroph escapen

Man muss natürlich kein Apostroph nehmen, normale Anführungszeichen eignen sich dafür auch. Nutzt man als Array-Index beispielsweise einen Namen, der ein Apostroph enthält (Ku’damm) ist es einfacher, direkt auf Anführungszeichen auszuweichen.

Nutzt man Apostrophe, kann man die in den values enthaltenen Apostrophe auch escapen: Ku\‘damm.

Artikel-Bewertung (5 / 1)

1
Hinterlasse einen Kommentar

  Abonnieren  
neueste älteste meiste Bewertungen
Benachrichtige mich bei
Dennis
Artikel-Bewertung :
     

DANKE!!!

Programmieren Windows Restaurant Sicherheit Konzert Kredite Webserver iPhone Silvester Hamburg Kino E-Mail Deutschland Fahrrad Alkohol Laufen Werbung Datenschutz Netzwerk Computer Tipps & Tricks Kater Weihnachten IKEA Datenbanken web 2.0 Fotos Internet Datenübertragung Microsoft Organisation BarCamp Terminal Einkaufen Sommer C++ Facebook iOS Apple Weiterleitung Inventur projekt52 IST-Analyse URL Abschlussprüfung OS X Redirect Netzwerktechnik Film Sibirische Katze twitter Bilanz Gesellschaft Musik Wirtschaft Ausbildung Mac OS X Buchhaltung Party Fernsehen Ernährung Sport Altona Videos Projektmanagement

Hinweise zum Artikel

Heiß diskutiert