Aunque la mayoría de código PHP 4 existente debe correr sin modificaciones, es importante que preste atención a los siguientes cambios incompatibles con versiones anteriores:
Example#1 strrpos() y strripos() ahora usan la cadena entera como aguja
<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)
var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>
Example#2 Un objeto sin propiedades ya no es considerado "vacío"
<?php
class prueba { }
$p = new prueba();
var_dump(empty($p)); // echo bool(false)
if ($p) {
// Se ejecuta
}
?>
Example#3 En algunos casos, las clases deben declararse antes de ser usadas
<?php
// funciona sin errores:
$a = new a();
class a {
}
// gerena un error:
$a = new b();
interface c{
}
class b implements c {
}
?>