środa,
Operatory porównania
Operatory porównania
Operatory porównania wykorzystywane są w wyrażeniach warunkowych, z wyjątkiem wprowadzonego w PHP7 operatora spaceship zwracają wartość TRUE (prawda, 1) lub FALSE (fałsz, 0).
Dostępne w języku PHP operatory porównania.
Przykład | Nazwa | Wynik |
---|---|---|
$a == $b | Równość | Prawda jeśli wyrażenia mają identyczną wartość. |
$a === $b | Równość | Prawda jeśli wyrażenia mają identyczną wartość oraz typ. |
$a != $b | Nierówność | Prawda jeśli wyrażenia mają różne wartości. |
$a !== $b | Nierówność | Prawda jeśli wyrażenia mają różne wartości i/lub typ. |
$a < $b | Mniejsze niż | Prawda jeśli lewe wyrażenie jest mniejsze niż prawe. |
$a > $b | Większe większe | Prawda jeśli lewe wyrażenie jest większe niż prawe. |
$a <= $b | Mniejsze lub równe | Prawda jeśli lewe wyrażenie jest mniejsze lub równe prawemu. |
$a >= $b | Większe lub równe | Prawda jeśli lewe wyrażenie jest większe lub równe prawemu. |
$a <=> $b | Spaceship | Zwraca -1, 0 lub 1 kiedy lewe wyrażenie jest odpowiednio mniejsze niż, równe lub większe niż prawe. |
W przykładach nie uwzględniono zmian wprowadzonych w PHP8 (został on wydany miesiąc temu).
Proste stosowanie operatorów porównania działa zgodnie z oczekiwaniem.
<?php
var_dump(12 > 10); // true
var_dump(12 < 10); // false
var_dump(12 > '10'); // true
?>
Automatyczne rzutowanie powoduje, że w poniższym przykładzie zwracana jest prawda.
<?php
var_dump(1 == '01'); // true
?>
Operatory porównania można stosować także do typów znakowych.
<?php
var_dump('b' > 'a'); // true
var_dump('a' > 'aa'); // false
?>
W przykładzie przedstawiono różnicę między operatorami == oraz ===. W drugim wywołaniu typy są różne i zwracany jest fałsz.
<?php
var_dump(12 == '12'); // true
var_dump(12 === '12'); // false
?>
Przykłady działania operatora spaceship.
<?php
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
?>