Operator spaceship ('<=>') jest operatorem porównania wprowadzonym w PHP 7. Wcześniej, wersje PHP używały operatorów porównania ('<', '>', '<=', '>=', '==', '!=') do porównywania wartości. Operator spaceship został dodany jako bardziej zwięzła i wygodna alternatywa dla wielu przypadków porównań.
Rys historyczny:
Operator spaceship został dodany do PHP 7 jako część rozbudowy i ulepszeń składni języka. Jego nazwa "spaceship" odnosi się do podobieństwa symbolu operatora ('<=>') do kosmicznego statku widzianego z boku.
Operator spaceship zwraca jedno z trzech możliwych wartości:
- Liczbę ujemną, jeśli lewa strona jest mniejsza niż prawa.
- Zero, jeśli obie strony są równe.
- Liczbę dodatnią, jeśli lewa strona jest większa niż prawa.
Teraz przyjrzyjmy się trzem przykładom użycia operatora spaceship:
Przykład 1:
echo 2 <=> 1; // Wyświetli: 1 (2 > 1)
W tym przykładzie operator spaceship porównuje liczbę 2 i 1. Ponieważ 2 jest większe od 1, wynik jest liczbą dodatnią (1).
Przykład 2:
echo 3 <=> 3; // Wyświetli: 0 (3 == 3)
W tym przykładzie operator spaceship porównuje liczbę 3 i 3. Ponieważ obie strony są równe, wynik jest równy zeru.
Przykład 3:
echo 'abc' <=> 'xyz'; // Wyświetli: -1 ('abc' < 'xyz')
W tym przykładzie operator spaceship porównuje ciągi znaków "abc" i "xyz". Ponieważ "abc" występuje leksykograficznie przed "xyz", wynik jest liczbą ujemną (-1).
Operator spaceship jest szczególnie przydatny przy sortowaniu danych lub w innych przypadkach, gdzie trzeba porównać dwie wartości i uzyskać informację o ich wzajemnym porządku.
To są tylko trzy przykłady użycia operatora spaceship. Można go stosować w wielu innych kontekstach, gdzie wymagane jest porównywanie wartości w prosty i zwięzły sposób.