スカラーデータタイプのタイプヒントや最適化されたパフォーマンスなどの新機能に加えて、PHP 7には、多くの新しい便利な言語拡張機能も備わっています。 「宇宙船オペレーター」はついにPHPの世界に入りました(RubyとPerlのプログラマーは長い間それを知っていました)。 \($a <=> $b\)は、両方のオペランドが等しい場合にのみ\(0\) \($a <=> $b\)返し、左側のオペランドが大きい場合は\(1\) \($a <=> $b\)返し、それ以外の場合は\(-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\)等しい)。