PHP Operateur Spaceship <=>

Un opérateur peu connu mais très utile, pour, par exemple ordonné un liste d’array, est l’opérateur spaceship ou combiné en français: <=>

Il compare deux valeurs et retourner un entier (-1,0,-1) dépendant du résultat.

$a < $b retourne -1
$a = $b retourne 0
$a > $b retourne 1

Publicités

Une façon pour le voir est la suivante: https://3v4l.org/WcRSo

Un exemple d’utilisation est si l’on veut trier une array:

function sortByLength($a, $b)
{
    $lenA = strlen($a);
    $lenB = strlen($b);

    return $lenA <=> $lenB;
}

$values = [
    'ccc',
    'a',
    'eeeeee',
    'dddd',
    'bb',
    'fffff'
];

usort($values, 'sortByLength');
print_r($values); //Array ( [0] => a [1] => bb [2] => ccc [3] => dddd [4] => fffff [5] => eeeeee )

 

Publicités

Laisser un commentaire