PHP7 - Spaceship operator "<=>"

Łukasz Piotrowski Komentarzy 0

    Spaceship operator to nowy twór dodany w PHP7.

    Działanie

    Jest to operator porównania zwracający -1, 0, 1:

    <?php
    
    $a = 1;
    $b = 2;
    echo $a <=> $b; // -1
    
    $a = 2;
    echo $a <=> $b; // 0
    
    $a = 3;
    echo $a <=> $b; // 1

    Zastosowanie

    Głównym i chyba najczęstszym miejscem w którym go użyjemy jest funkcja usort():

    <?php
    
    // Standardowe użycie usort()
    $a = [1,4,7,3,2,6,7];
    usort($a, function($a, $b){
        if ($a == $b) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    });
    
    // Spaceship operator
    $a = [1,4,7,3,2,6,7];
    usort($a, function($a, $b){
        return $a <=> $b;
    });

    Czy ma inne zastosowanie? Pewnie tak, ale jeszcze nie spotkałem potrzeby. Więc jeśli ktoś ma jakieś ciekawe przykłady to zapraszam do kontaktu i uzupełnienia treści.

    Więcej na: php.net operators

    Top