Oprócz nowych funkcji, takich jak podpowiedzi typu dla skalarnych typów danych lub zoptymalizowana wydajność , PHP 7 oferuje również wiele nowych, przydatnych rozszerzeń językowych. „Operator statku kosmicznego” w końcu trafił do świata PHP (programiści Rubiego i Perla znają go od dawna). \($a <=> $b\) zwraca \(0\) wtedy i tylko wtedy, gdy oba operandy są równe, \(1\) jeśli lewy jest większy i \(-1\) przeciwnym razie.
Odpowiednio, ten nowy operator odpowiada znanej z matematyki funkcji signum \(sgn(xy)\) . Oznacza to, że istniejące operatory porównania mogą być również interpretowane przy użyciu nowej składni:
\($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\) |
Obowiązują te same zasady, co w przypadku operatorów porównania (na przykład \([1,2,3] <=>[1,2,1]\) równa się \(1\) ).