switch() Changed Comparison Style

The switch command uses a relaxed comparison style. Hence, the associated cases changed in PHP 8.0, whenever they use the special values such a 0, empty string ‘’ or null.

PHP code

<?php

$a = 0;
switch ($a) {
    case 'a':
        print 'a'.PHP_EOL;
        break;

    case 0:
        print 'Null'.PHP_EOL;
        break;

    default:
        print 'Default'.PHP_EOL;
}

?>

Before

a

After

Null

PHP version change

This behavior changed in 8.0