Terugwaardse Incompatibiliteit Veranderingen

Ondanks de meeste bestaande PHP 4 code zou moeten werken zonder veranderingen, kan je best aandacht besteden aan volgende terugwaardse incompatibiliteit veranderingen:

Voorbeeld D-1. strrpos() en strripos() gebruiken nu de gehele string als naald.

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

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

Voorbeeld D-2. Een object zonder properties wordt niet langer beschouwd als "empty".

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

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

if (!$t) {
    
// Will be executed
}
?>

Het volgende voorbeeld was geldig in PHP 4, maar in PHP 5 zal het een fatal error produceren.

Voorbeeld D-3. Classes moeten gedeclareerd worden voor gebruik

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

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