Obwohl der meiste PHP 5 basierende Code ohne Änderungen funktionieren sollte, gibt einige nicht rückwärtskompatible Änderungen:
FALSE
zurück. set_magic_quotes_runtime() erzeugt eine Fehler der Stufe
E_CORE_ERROR
, wenn versucht wird
Magic quotes zu aktivieren.
E_WARNING
erzeugen.
E_WARNING
, wenn
versucht wird, sie zu verwenden. Offsets der Typen double, bool und null
erzeugen ein E_NOTICE
. Numerische Zeichenketten (z.B. $a['2']) funktionieren wie
bisher. Es ist zu beachten, dass Offsets wie '12.3' und '5 irgendwas' als
nichtnumerisch angesehen werden, und ein E_WARNING
erzeugen, aber aus
Gründen der Abwärtskompatibilität zu 12 bzw. 5 konvertiert werden.
Hinweis: der folgende Code gibt unterschiedliche Ergebnisse zurück.
$str='abc';var_dump(isset($str['x'])); // false unter PHP 5.4 oder später, aber true unter 5.3 oder weniger
E_NOTICE
verursachen, aber das Ergebnis der Umwandlung ist
weiterhin "Array".
NULL
, FALSE
oder leere Zeichenketten durch Hinzufügen einer Eigenschaft in
ein Objekt zu konvertieren wird nun einen Fehler der Stufe E_WARNING
statt
E_STRICT
ausgeben.
FALSE
zurück, wenn zwei leere Arrays als
Parameter übergeben wurden.
E_STRICT
ausgegeben.
erase
in integer
flags
geändert. Es ist zu beachten, dass Code der
erase
ausdrücklich auf FALSE
setzt, sich unter PHP 5.4 nicht länger
wie erwartet verhält; dieses Beispiel
zeigt wie Code geschrieben wird, der kompatibel zu PHP 5.3 und PHP 5.4 ist.
Die folgenden Schlüsselwörter sind nun reserviert und dürfen nicht als Namen von Funktionen, Klassen usw. genutzt werden.
Folgende Funktionen wurden von PHP entfernt: