En plus de nouvelles fonctionnalités telles que l' indication de type pour les types de données scalaires ou des performances optimisées , PHP 7 apporte également de nombreuses nouvelles extensions de langage utiles. Le "Spaceship Operator" a finalement fait son entrée dans le monde de PHP (les programmeurs Ruby et Perl le connaissent depuis longtemps). \($a <=> $b\) renvoie \(0\) si et seulement si les deux opérandes sont égaux, \(1\) si celui de gauche est plus grand et \(-1\) sinon.
En conséquence, ce nouvel opérateur correspond à la fonction signum \(sgn(xy)\) connue des mathématiques. Cela signifie que les opérateurs de comparaison existants peuvent également être interprétés à l'aide de la nouvelle syntaxe:
\($a < $b\) | \(($a <=> $b) === -1\) |
\($a <= $b\) | \(($a <=> $b)\) !\(== 1\) |
\($a == $b\) | \(($a <=> $b) === 0\) |
\($a\) !\(= $b\) | \(($a <=> $b)\) !\(== 0\) |
\($a >= $b\) | \(($a <=> $b)\) !\(== -1\) |
\($a > $b\) | \(($a <=> $b) === 1\) |
Les mêmes règles s'appliquent que pour les opérateurs de comparaison (par exemple \([1,2,3] <=>[1,2,1]\) est égal à \(1\) ).