Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Switch

The switch expression branches evaluation based on an equality check of a value. It also handles a default case, when none of the explicit cases match.

Each case is an expression, and shall be used that way.

switch use a relaxed comparison between the parameter value and the case values. This means that some type juggling happens, and some literals might behave as identical.

<?php

    $b = 1;
    switch ($i) {
        case 0:
            echo 'i equals 0';
            break;
        case 1:
            echo 'i equals 1';
            break;
        case $b + 1:
            echo 'i equals '.($b + 1);
            break;
        default:
            echo 'i is none of the expected values.';
    }
    
    switch (false) {
        case null:
            // false == null so this is the case
            echo 'This is null';
            break;
        case '':
            echo 'This is empty string';
            break;
        default:
            echo 'This is none of the expected values.';
    }

?>

Documentation

See Also