PHP 7 và Nhà điều hành tàu vũ trụ

Ngoài các tính năng mới như gợi ý kiểu cho các kiểu dữ liệu vô hướng hoặc hiệu suất được tối ưu hóa , PHP 7 cũng mang đến nhiều tiện ích mở rộng ngôn ngữ mới, hữu ích với nó. "Spaceship Operator" cuối cùng cũng đã bước vào thế giới PHP (các lập trình viên Ruby và Perl đã biết đến nó từ lâu). \($a <=> $b\) trả về \(0\) nếu và chỉ khi cả hai toán hạng đều bằng nhau, \(1\) nếu toán hạng bên trái lớn hơn và \(-1\) ngược lại.


Theo đó, toán tử mới này tương ứng với hàm dấu hiệu \(sgn(xy)\) được biết đến từ toán học. Điều này có nghĩa là các toán tử so sánh hiện có cũng có thể được giải thích bằng cách sử dụng cú pháp mới:

\($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\)

Các quy tắc tương tự được áp dụng cho các toán tử so sánh (ví dụ \([1,2,3] <=>[1,2,1]\) bằng \(1\) ).

Trở lại