尽管大部分 PHP 4 的代码应该不用修改就能运行,还是应该留意以下不向下兼容的改变:
Example#1 strrpos() 和 strripos() 如今用整个字符串作为 needle
<?phpvar_dump(strrpos('ABCDEF','DEF')); //int(3)var_dump(strrpos('ABCDEF','DAF')); //bool(false)?>
Example#2 没有属性的对象不再被当成“empty”
<?phpclass test { }$t = new test();var_dump(empty($t)); // echo bool(false)if ($t) { // Will be executed}?>
Example#3 有些情况下类必须在使用之前定义
<?php//works with no errors:$a = new a();class a {}//throws an error:$a = new b();interface c{}class b implements c {}?>