Anche se la maggior parte del codice PHP 4 esistente dovrebbe funzionare senza modifiche, occorre fare attenzione ai seguenti cambiamenti incompatibili col codice precedente:
Example#1 strrpos() e strripos() ora utilizzano l'intera stringa come argomento di ricerca
<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)
var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>
Example#2 Un oggetto senza proprietà non è più considerato "vuoto"
<?php
class test { }
$t = new test();
var_dump(empty($t)); // echo bool(false)
if ($t) {
// Viene eseguito
}
?>
Example#3 In alcuni casi le classi devono essere dichiarate prima dell'utilizzo
<?php
//funziona senza errori:
$a = new a();
class a {
}
//emette un errore:
$a = new b();
interface c{
}
class b implements c {
}
?>