PHP 7 та оператор космічного корабля

На додаток до нових функцій, таких як підказка типу для скалярних типів даних або оптимізована продуктивність , PHP 7 також містить багато нових, корисних розширень мови. "Оператор космічного корабля" нарешті потрапив у світ PHP (програмісти Ruby та Perl знають це давно). \($a <=> $b\) повертає \(0\) тоді і тільки тоді, коли обидва операнди рівні, \(1\) якщо лівий більший, а \(-1\) інакше.


Відповідно, цей новий оператор відповідає функції signum \(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\) ).

Назад