@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.

Hier ist noch Platz für Deinen Kommentar:

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

Hinweise zum Artikel

Heiß diskutiert