В дополнение к новым функциям, таким как подсказка типов для скалярных типов данных или оптимизированная производительность , PHP 7 также содержит множество новых полезных расширений языка. «Оператор космического корабля» наконец-то попал в мир PHP (программисты на Ruby и Perl знали его давно). \($a <=> $b\) возвращает \(0\) тогда и только тогда, когда оба операнда равны, \(1\) если левый больше, и \(-1\) противном случае.
Соответственно, этот новый оператор соответствует сигнум-функции \(sgn(xy)\) известной из математики. Это означает, что существующие операторы сравнения также можно интерпретировать с использованием нового синтаксиса.:
\($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\) |
Применяются те же правила, что и для операторов сравнения (например, \([1,2,3] <=>[1,2,1]\) равно \(1\) ).