PHP 7 en de ruimteschipoperator

Naast nieuwe functies zoals typehinting voor scalaire gegevenstypen of geoptimaliseerde prestaties , brengt PHP 7 ook veel nieuwe, nuttige taaluitbreidingen met zich mee. De "Spaceship Operator" is eindelijk in de wereld van PHP terechtgekomen (Ruby- en Perl-programmeurs kennen het al een hele tijd). \($a <=> $b\) geeft \(0\) als en alleen als beide operanden gelijk zijn, \(1\) als de linker groter is en \(-1\) anders.


Dienovereenkomstig komt deze nieuwe operator overeen met de signumfunctie \(sgn(xy)\) bekend is uit de wiskunde. Dit betekent dat bestaande vergelijkingsoperatoren ook kunnen worden geïnterpreteerd met de nieuwe syntaxis:

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

Dezelfde regels zijn van toepassing als voor de vergelijkingsoperatoren (bijvoorbeeld \([1,2,3] <=>[1,2,1]\) gelijk aan \(1\) ).

Terug