✔ default charset is UTF-8 instead of ISO-8859-1
<?php
echo htmlspecialchars("abc".chr(0xE0)."def"); // 5.3 "abc�def"
echo htmlspecialchars("abc".chr(0xE0)."def", NULL, 'UTF-8'); // 5.3 ""
echo htmlspecialchars("abc".chr(0xE0)."def"); // 5.4 ""
echo htmlspecialchars("abc".chr(0xE0)."def", ENT_IGNORE); // 5.4 "abcdef"
✔ array to string conversion notice
<?php
echo [1,2,3];
// Notice: Array to string conversion in test.php code on line 1
array_diff([1,2,3], [1,2, [3] ]);
// Notice: Array to string conversion in test.php on line 2
✔ register_globals completely removed
✔ magic quotes completely removed
✔ removed variable break/continue
<?php
$var = 'label';
while(1) {
break $var;
continue $var;
}
label:
✔ max_input_vars (default 1000)
✔ "callable", "insteadof" and "trait" are now reserved words
✔ extending an abstract constructor must match the signature
<?php
abstract class Base {
abstract public function __construct();
}
class Foo extends Base {
public function __construct($bar) {}
// FATAL Declaration of Foo::__construct() must be compatible
// with Base::__construct()
}
✔ stream_select() preserves keys of array arg
✔ XSLT writes are disabled by default
✔ mcrypt_generic_end() removed in favour of mcrypt_generic_deinit()
✔ mysql_list_dbs() removed
✔ PDO needs at least mysql client lib 4.1 now
✔ Datetime ignores TZ env var and falls back to UTC if none set
✔ Tiger hash output fixed - See bug 61307