Incompatibilités avec les version antérieures

Bien que la plupart des scripts PHP 4 existants devraient fonctionner, il convient de noter quelques incompatibilités avec les versions antérieures de PHP :

Exemple D.1. strrpos() et strripos() recherchent maintenant une chaîne de caractères dans une autre

<?php
var_dump
( strrpos ( 'ABCDEF' , 'DEF' ));  //int(3)

var_dump ( strrpos ( 'ABCDEF' , 'DAF' ));  //bool(false)
?>

Exemple D.2.  Un objet sans propriété n'est plus considéré comme vide (empty() )

<?php
class  test  { }
$t  = new  test ();

var_dump (empty( $t ));  // echo bool(false)

if ( $t ) {
    
// Cette portion de code sera exécutée
}
?>

Exemple D.3.  Dans certains cas, les classes doivent être déclarées avant d'être utilisées

<?php

// fonctionne sans erreur :
$a  = new  a ();
class 
{
}


// ici, une erreur :
$a  = new  b ();

interface 
c {
}
class 
implements  {
}

?>