Operatory w PHP

W PHP dostępne są następujące operatory:

  1. Operatory arytmetyczne
  2. Operatory bitowe
  3. Operatory porównania
  4. Operatory zwiększania i zmniejszania
  5. Operatory logiczne
  6. Operatory przypisania
  7. Operator trójskładnikowy
  8. Operator wykonania
  9. Operator kontroli błędów

Opis operatorów od punktu 1 do 6 znajduje się w poniższych tabelach:

Operatory arytmetyczne

Operator Nazwa Przykład Wynik
+ Dodawanie $a + $b Suma $a i $b
- Odejmowanie $a - $b Różnica $a i $b
* Mnożenie $a * $b Iloczyn $a i $b
/ Dzielenie $a / $b Iloraz $a i $b
% Reszta z dzielenia $a % $b Reszta z dzielenie $a przez $b

Operatory bitowe

Operator Nazwa Przykład Wynik
& Iloczyn bitowy $a & $b Bity ustawione w $a i $b są ustawione
| Suma bitowa $a | $b Bity ustawione w $a lub $b są ustawione
^ Różnica symetryczna $a ^ $b Bity ustawione w $a lub $b, ale nie w obu na raz są ustawione
~ Negacja ~$a Bity ustawione nie są teraz ustawione i odwrotnie
<< Przesunięcie w lewo $a << $b Przesunięcie bitów w $a w lewo o $b kroków
>> Przesunięcie w prawo $a >> $b Przesunięcie bitów w $a w prawo o $b kroków

Operatory porównania

Operator Nazwa Przykład Wynik
== Równy $a == $b True, jeżeli $a jest równe $b
=== Identyczny $a === $b True, jeżeli $a jest równe $b i są one tych samych typów
!= Różny $a != $b True, jeżeli $a jest różne od $b
< Mniejszy $a < $b True, jeżeli $a jest mniejsze od $b
> Większy $a > $b True, jeżeli $a jest większe od $b
<= Mniejszy lub równy $a <= $b True, jeżeli $a jest mniejsze lub równe $b
>= Większy lub równy $a >= $b True, jeżeli $a jest większe lub równe $b

Operatory zwiększania i zmniejszania

Operator, przykład Nazwa Wynik
$a++ Postinkrementacja Zwraca $a, a następnie zwiększa $a o jeden
++$a Preinkrementacja Zwiększa $a o jeden i zwraca $a
$a-- Postdekrementacja Zwraca $a, a następnie zmniejsza $a o jeden
--$a Predekrementacja Zmniejsza $a o jeden i zwraca $a

Operatory logiczne

Operator Nazwa Przykład Wynik
and Iloczyn logiczny $a and $b True, jeżeli $a i $b mają wartość True
or Suma logiczna $a or $b True, jeżeli $a lub $b mają wartość True
xor Różnica symetryczna $a xor $b True, jeżeli $a lub $b mają wartość True, ale nie razem
! Negacja !$a True, jeżeli $a nie jest True
&& Iloczyn logiczny $a && $b True, jeżeli $a i $b mają wartość True
|| Suma logiczna $a || $b True, jeżeli $a lub $b mają wartość True

Operatory przypisania

Operator Przykład Wynik
= $a = $b Przypisuje wartość $b do $a.
+= $a += $b Przypisuje wartość ($a+$b) do $a. Jest to identyczne z $a=$a+$b.
-= $a -= $b Przypisuje wartość ($a-$b) do $a. Jest to identyczne z $a=$a-$b.
*= $a *= $b Przypisuje wartość ($a*$b) do $a. Jest to identyczne z $a=$a*$b.
/= $a /= $b Przypisuje wartość ($a/$b) do $a. Jest to identyczne z $a=$a/$b.
.= $a .= $b Przypisuje wartość ($a.$b) do $a. Jest to identyczne z $a=$a.$b.
%= $a %= $b Przypisuje wartość ($a%$b) do $a. Jest to identyczne z $a=$a%$b.
|= $a |= $b Przypisuje wartość ($a|$b) do $a. Jest to identyczne z $a=$a|$b.
&= $a &= $b Przypisuje wartość ($a&$b) do $a. Jest to identyczne z $a=$a&$b.
^= $a ^= $b Przypisuje wartość ($a^$b) do $a. Jest to identyczne z $a=$a^$b.
<<= $a <<= $b Przypisuje wartość ($a<<$b) do $a. Jest to identyczne z $a=$a<<$b.
>>= $a >>= $b Przypisuje wartość ($a>>$b) do $a. Jest to identyczne z $a=$a>>$b.

Operator trójskładnikowy jest identyczny jak w C czy C++. Jego składnia jest następująca:

$zmienna = (wyrazenie_1) ? (wyrazenie_2) : (wyrazenie_3);

Zmienna będzie miała wartość wyrażenie_2 jeżeli wyrażenie wartość_1 będzie TRUE (czyli prawdziwe) w przeciwnym wypadku zmienna będzie miała wartość wyrażenie_3.

Operator wykonania oznaczamy znakiem ` (jest to znak umieszczony na tym samym klawiszu co znak tyldy) Wyrażenie otoczone tymi znakami jest wykonywane na serwerze a zwracana wartość przypisywana zmiennej. Przykładowo aby przypisać do zmiennej $list bieżącą zawartość katalogu możemy wykonać: $list = `ls -l`. W ten sposób nasza zmienna listing zawiera zawartości bieżącego katalogu na serwerze.

Operator kontroli błędów oznaczamy znakiem @. Umieszczenie tego operatora przed wyrażeniem powoduje że błędy nie będą wyświetlane w oknie przeglądarki a zostaną zapamiętane w zmiennej globalnej $php_errormsg. Należy jednak pamiętać, że zmienna ta jest nadpisywana przez kolejne błędy. Do prawidłowego użycia tego operatora konieczna jest uaktywniona na serwerze opcja track_errors.