strlen changed in 5.3.0. It no longer returns 5 when called on Arrays.
If you abused this in your codebase, beware.
Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:
NULL
when passed incompatible parameters. There are
some exceptions to this rule, such as the get_class()
function, which will continue to return FALSE
on error.
PDO::MYSQL_ATTR_READ_DEFAULT_FILE
and PDO::MYSQL_ATTR_READ_DEFAULT_GROUP
are not defined
if MySQL support in PDO is compiled with mysqlnd.
The following keywords are now reserved and may not be used in function, class, etc. names.
strlen changed in 5.3.0. It no longer returns 5 when called on Arrays.
If you abused this in your codebase, beware.
In PHP 5.3, when accessing a string as an array, if the key was a string (non-existing because, for strings, the keys are integers), first char was returned. Probably it converts the string to integer, therefore to 0.
PHP 5.4 throws a warning.
$article; // this holds '98765' but you expect an array
// You try to read a value from your "array"
// PHP 5.3 : nothing
// PHP 5.4 : Warning: Illegal string offset at line ...
$value = $article['id_article'];
var_dump($value); // returns: string(1) "9"
.
call_user_func_array() no longer accepts null as a second parameter and calls the function. It now emits a warning and does not call the function.