PHP 7 e Spaceship Operator

Oltre a nuove funzionalità come il suggerimento sul tipo per tipi di dati scalari o prestazioni ottimizzate , PHP 7 porta anche molte nuove e utili estensioni del linguaggio. Lo "Spaceship Operator" è finalmente arrivato nel mondo di PHP (i programmatori Ruby e Perl lo sanno da tempo). \($a <=> $b\) restituisce \(0\) se e solo se entrambi gli operandi sono uguali, \(1\) se quello di sinistra è più grande e \(-1\) altrimenti.


Di conseguenza, questo nuovo operatore corrisponde alla funzione segno \(sgn(xy)\) nota dalla matematica. Ciò significa che anche gli operatori di confronto esistenti possono essere interpretati utilizzando la nuova sintassi:

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

Si applicano le stesse regole degli operatori di confronto (ad esempio \([1,2,3] <=>[1,2,1]\) uguale a \(1\) ).

Indietro