Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:
FALSE
. set_magic_quotes_runtime() raises an
E_CORE_ERROR
level error on trying to enable Magic quotes.
E_WARNING
.
E_WARNING
if you try to use them. Offsets of types double, bool and null produce a E_NOTICE
. Numeric strings
(e.g. $a['2']) still work as before. Note that offsets like '12.3'
and '5 foobar' are considered non-numeric and produce a E_WARNING
, but are converted
to 12 and 5 respectively, for backward compatibility reasons.
Note: Following code returns different result.
$str='abc';var_dump(isset($str['x'])); // false for PHP 5.4 or later, but true for 5.3 or less
E_NOTICE
level
error, but the result of the cast will still be the string "Array".
NULL
, FALSE
, or an empty string into an object by adding a property
will now emit an E_WARNING
level error, instead of E_STRICT
.
FALSE
when two empty arrays are provided as parameters.
E_STRICT
level error is emitted.
erase
to integer
flags
. Note that code that explicitly set
erase
to FALSE
will no longer behave as expected
in PHP 5.4: please follow
this example to write
code that is compatible with PHP 5.3 and 5.4.
The following keywords are now reserved, and may not be used as names by functions, classes, etc.
The following functions have been removed from PHP: