cac-toan-tu-php

Các loại toán tử trong PHP

Toán tử là gì? Hãy xem xét ví dụ này 1 + 3 = 4, tại đây 1 và 3 được gọi là toán hạng còn phép + được gọi là toán tử. Trong PHP có hỗ trợ các loại toán tử sau:

  • Toán tử số học (Arithmetic operators)
  • Toán tử so sánh (Comparison operators)
  • Toán tử gắn (Assignment operators)
  • Toán tử gắn có điều kiện (Conditional assignment operators)
  • Toán tử tăng dần / giảm dần (Increment / Decrement operators)
  • Toán tử chuỗi (String operators)
  • Toán tử mảng (Array operators)
  • Toán tử logic (Logical operators)


Toán tử số học

Các toán tử số học được sử dụng với các giá trị số để thực hiện các phép toán phổ biến như cộng, trừ, nhân, chia, v.v. Ví dụ với biến $x = 15, $y = 5 kết quả thử nghiệm các toán tử như sau:

Toán tử Mô tảKết quả
+Phép cộng hai toán hạng$x + $y = 20
Phép trừ hai toán hạng$x – $y = 10
*Phép nhân hai toán hạng$x * $y = 75
/Phép chia hai toán hạng$x / $y = 3
%Kết quả là số dư của $x chia $y$x % $y = 0
**Kết quả của phép lũy thừa 15 ^ 5$x ** $y = 759375


Toán tử so sánh

Các toán tử so sánh được sử dụng để điều khiển điều kiện rẽ nhánh. Trong ngôn ngữ lập trình PHP có hỗ trợ các toán tử so sánh như sau:

Toán tử Mô tảKết quả
==So sánh hai giá trị bằng nhau5 == 5 => true
5 == ‘5’ => true
===So sánh hai giá trị vừa bằng nhau,
vừa cùng kiểu dữ liệu
5 === 5 => true
5 === ‘5’ => false
!=So sánh hai giá trị khác nhau1 != 2 => true
!==So sánh hai giá trị khác nhau
hoặc khác kiểu dữ liệu
1 !== 2 => true
1 !== ‘1’ => true
<>So sánh hai giá trị khác nhau1 <> 2 => true
>So sánh giá trị toán hạng bên trái có lớn hơn
giá trị toán hạng bên phải hay không
3 > 2 => true
<So sánh giá trị toán hạng bên trái có nhỏ hơn
giá trị toán hạng bên phải hay không
1 < 3 => true
>=So sánh giá trị toán hạng bên trái có lớn hơn
hoặc bằng giá trị toán hạng bên phải hay không
3 >= 2 => true
3 >= 3 => true
<=So sánh giá trị toán hạng bên trái có nhỏ hơn
hoặc bằng giá trị toán hạng bên phải hay không
1 <= 3 => true
1 <= 1 => true
<=>
So sánh 3 phép kết hợp, nếu bằng nhau trả về 0,
bên trái nhỏ hơn trả về -1, bên trái lớn hơn trả về 1
1 <=> 1 => 0
1 <=> 2 => -1
2 <=> 1 => 1


Toán tử gắn

Các toán tử gắn trong PHP được sử dụng với các giá trị số, nó vừa kết hợp phép toán số học và phép gắn để ghi giá trị vào cho một biến. Ví dụ với biến $x = 4, $y = 2. Trong PHP có hỗ trợ các toán tử gắn sau:

Toán tử Mô tảKết quả
=Phép gắn giá trị biểu thức bên phải vào
toán hạng bên trái
$x = $y => $x = 2
+=Phép cộng hai toán hạng và gắn vào
toán hạng bên trái
$x += $y => $x = 6
-=Phép trừ hai toán hạng và gắn vào
toán hạng bên trái
$x -= $y => 2
*=Phép nhân hai toán hạng và gắn vào
toán hạng bên trái
$x *= $y => $x = 8
/=Phép chia hai toán hạng và gắn vào
toán hạng bên trái
$x /= $y => $x = 2
%=Phép chia lấy số dư hai toán hạng và gắn vào
toán hạng bên trái
$x %= $y => $x = 0


Toán tử gắn có điều kiện

Toán tử Mô tảKết quả
?:Cú pháp: $x = bieuthuc1 ? bieuthuc2 : bieuthuc3
Nếu biểu thức 1 đúng,
thì gắn giá trị biểu thức 2 cho biến $x,
ngược lại thì gắn giá trị biểu thức 3 cho biến $x
$x = 1 < 3 ? ‘A’ : ‘B’
=> $x = ‘A’
??Cú pháp: $x = bieuthuc1 ?? bieuthuc2
Nếu biểu thức 1 có tồn tại và giá trị khác NULL,
thì gắn giá trị biểu thức 1 cho biến $x,
ngược lại thì gắn gía trị biếu thức 2 cho biến $x
$x = null ?? 1
=> $x = 1


Toán tử tăng dần / giảm dần

Các toán tử tăng dần / giảm dần được sử dụng với các giá trị số để thực hiện việc tăng dần hoặc giảm dần giá trị. Ví dụ với biến $x = 15, $y = 5 kết quả thử nghiệm các toán tử như sau:

Toán tử Mô tảKết quả
++$xPhép cộng dồn tăng lên 1 đơn vị,
cộng trước trả về sau
++$x => $x = 16
$x++Phép cộng dồn tăng lên 1 đơn vị,
trả về trước cộng sau
$x++ => $x = 15,
sau khi chạy xong toán tử mới $x = 16
–$yPhép tự trừ giảm xuống 1 đơn vị,
trừ trước trả về sau
–$y => $y = 4
$x–Phép tự trừ giảm xuống 1 đơn vị$y– => $y = 5,
sau khi chạy xong toán tử mới $y = 4


Toán tử chuỗi

Toán tử Mô tảKết quả
.Phép nối chuỗi$x = ‘hel’ . ‘lo’ => $x = ‘hello’
.=Phép nối chuỗi và kết hợp phép gắn$x = ‘hello’
$x .= ‘ world’
=> $x = ‘hello world’

Mời các bạn tìm hiểu tiếp về điều kiện rẽ nhánh trong PHP ở bài viết tiếp theo nhé!