PHP 7 och rymdskeppsoperatören

Förutom nya funktioner som typtips för skalära datatyper eller optimerad prestanda , kommer PHP 7 också med många nya, användbara språktillägg. "Rymdskeppsoperatören" har äntligen gjort det till en värld av PHP (Ruby och Perl-programmerare har känt det länge). \($a <=> $b\) returnerar \(0\) om och endast om båda operanderna är lika, \(1\) om den vänstra är större och \(-1\) annars.


Följaktligen motsvarar denna nya operatör signumfunktionen \(sgn(xy)\) känd från matematik. Detta innebär att befintliga jämförelseoperatörer också kan tolkas med hjälp av den nya syntaxen:

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

Samma regler gäller som för jämförelseoperatörerna (till exempel \([1,2,3] <=>[1,2,1]\) lika med \(1\) ).

Tillbaka