Несмотря на то, что большинство кода на PHP 4 должно работать безо всяких изменений, вам следует обратить вимание на следующие изменения, повлекшие за собой обратную несовместимость:
Пример #1 strrpos() и strripos() теперь используют всю строку как needle
<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)
var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>
Пример #2 Объект без свойств больше не считается "пустым"
<?php
class test { }
$t = new test();
var_dump(empty($t)); // echo bool(false)
if ($t) {
// Будет выполнено
}
?>
Пример #3 В некоторых случаях классы должны быть объявлены перед использованием
<?php
//работает без ошибок:
$a = new a();
class a {
}
//вызывает ошибку:
$a = new b();
interface c{
}
class b implements c {
}
?>