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

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

Hinweise zum Artikel