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: