PHP 4 から PHP 5.0.x への移行
PHP Manual

下位互換性のない変更点

多くの既存の 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) {
    
// 実行される
}
?>

以下の例はPHP 4では有効でしたが、PHP 5では致命的なエラーを 発生します。

例3 クラスは使用前に宣言する必要がある

<?php
$test 
= new fubar();
$test->barfu();

class 
fubar {
    function 
barfu() {
        echo 
'fubar';
    }
}
?>


PHP 4 から PHP 5.0.x への移行
PHP Manual