Biểu thức là một tổ hợp các toán hạng và toán tử. Toán tử thực hiện các thao tác như cộng, trừ, nhân, chia, so sánh,… Toán hạng là những biến hay là những giá trị mà các phép toán được thực hiện trên nó.
Ví dụ $a + $b
thì $a
và $b
được gọi là toán hạng, dấu +
được gọi là toán tử, cả 2 kết hợp lại thành một biểu thức [$a + $b]
.
Các toán tử số học
Gồm các phép toán +
-
*
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 290
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 291
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 292
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 293với diễn giả và ví dụ như bảng dưới đây. Bạn có thể thử các phép toán bằng cách thay đổi số trong Form ví dụ
&A = 25
$B = 30
+
Phép cộng hai số$A + $B : Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 295
-
Phép trừ$A – $B : Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 297
*
Phép nhân$A * $B : Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 299
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 290Phép chia$A / $B :
$a + $b
1Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 291modulo : Phép chia lấy dư.
Phần dư của phép chia hai số nguyên$A / $B :
$a + $b
3Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 292Phép toán tăng thêm 1 vào biến$A++ kết quả $A =
$a + $b
5Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 293Phép toán giảm đi giá trị 1$B– kết quả $B =
$a + $b
7Ví dụ: Có đoạn mã nhúng PHP vào file html như sau:
Toán tử số học
Kết quả phép cộng: 55 Kết quả phép trừ: -5 Kết quả phép nhân: 750 Kết quả phép chia: 0.8333333333333 Phần dư phép chia: 25 Thêm một vào 25: 26 Giảm 30 đi 1: 29
Toán tử quan hệ [so sánh] trong PHP
Bảng dưới liệt kê các toán tử so sánh được hỗ trợ bởi ngôn ngữ PHP. Giả sử biến $a giữ giá trị 10, biến $b giữ giá trị 20, thì:
Toán tửMiêu tảBiểu Thức Ví dụ==Kiểm tra nếu 2 toán hạng bằng nhau hay không. Nếu bằng thì điều kiện là true.[$a == $b] là false.!=Kiểm tra 2 toán hạng có giá trị khác nhau hay không. Nếu không bằng thì điều kiện là true.[$a != $b] là true.>Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn toán hạng bên phải hay không. Nếu lớn hơn thì điều kiện là true.[$a > $b] là false.=Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không. Nếu đúng là true.[$a >= $b] là false. AND -> ORToán tử gán trong PHP
Dưới đây là những toán tử gán được hỗ trợ bởi ngôn ngữ PHP:
Toán tửMiêu tảBiểu Thức Ví dụ=Toán tử gán đơn giản. Gán giá trị toán hạng bên phải cho toán hạng trái$c = $a + $b sẽ gán giá trị của $a + $b vào trong $c+=Thêm giá trị toán hạng phải tới toán hạng trái và gán giá trị đó cho toán hạng trái$c += $a là tương đương với $c = $c + $a-=Trừ đi giá trị toán hạng phải từ toán hạng trái và gán giá trị này cho toán hạng trái$c -= $a là tương đương với $c = $c – $a*=Nhân giá trị toán hạng phải với toán hạng trái và gán giá trị này cho toán hạng trái$c *= $a là tương đương với $c = $c * $a/=Chia toán hạng trái cho toán hạng phải và gán giá trị này cho toán hạng trái$c /= $a là tương đương với $c = $c / $a%=Lấy phần dư của phép chia toán hạng trái cho toán hạng phải và gán cho toán hạng trái$c %= $a là tương đương với $c = $c % $a//ví dụ$a = $b = $c =10; //gán các toán hạng bằng nhau
Toán tử Ternary trong PHP
Toán tử Ternary ước lượng một biểu thức là true hoặc false và sau đó thực thi một trong hai lệnh đã cho tùy thuộc vào kết quả của việc ước lượng. Toán tử điều kiện có cú pháp như sau:
Toán tửMiêu tảVí dụ? :Biểu thức điều kiệnNếu điều kiện là true ? Thì giá trị X : Nếu không thì giá trị YĐặc biệt: Spaceship Operator
Toán tử Spaceship mới [] được giới thiệu trong phiên bản PHP 7, có thể được sử dụng để so sánh hai biểu thức. Nó còn được gọi là toán tử so sánh kết hợp.
Toán tử Spaceship trả về giá trị sau
- 0 nếu cả hai toán hạng đều bằng nhau
- 1 nếu bên trái lớn hơn
- -1 nếu bên phải lớn hơn
$a
4 Tương đương$a
5$a
6$a
7$a
8$a
9$b
0$b
1$b
2$b
3$b
4$b
5$b
6Nếu sử dụng toán tử thông thường thì chỉ trả về True hoặc False. Nhưng khi cần để thực hiện tiếp một công việc đặc thù nào đó thì toán tử Spaceship sẽ nhanh hơn.
via laptrinhvienphp.com
Phân loại toán tử trong PHP
Tất cả toán tử ở trên có thể được phân thành các loại sau trong PHP:
- Toán tử một ngôi [unary operator], mà đặt trước một toán hạng.
- Toán tử nhị phân [binary operator], nhận hai toán hạng và thực hiện các hoạt động số học và logic đa dạng.
- Tiếp theo là Toán tử điều kiện [ternary operator] hay là toán tử tam ngôi, nhận ba toán hạng và ước lượng hoặc biểu thức thứ hai hoặc biểu thức thứ ba, phụ thuộc vào kết quả ước lượng của biểu thức đầu tiên.
- Toán tử gán, mà gán một giá trị cho một biến.
Độ ưu tiên của các toán tử trong PHP
Độ ưu tiên các toán tử trong PHP thiết lập thứ tự ưu tiên tính toán của một biểu thức. Hay nói cách khác, Thứ tự ưu tiên toán tử trong PHP xác định cách biểu thức được tính toán.
Ví dụ: toán tử nhân có quyền ưu tiên hơn toán tử cộng, và nó được thực hiện trước.
LoạiToán tửThứ tự ưu tiênUnary! , ++ , —Phải sang tráiTính nhân* , / , %Trái sang phảiTính cộng+ , –Trái sang phảiQuan hệ=Trái sang phảiTính bằng== , !=Trái sang phảiLogic AND&&Trái sang phảiLogic OR||Trái sang phảiĐiều kiện?:Phải sang tráiGán= , += , -= , *= , /= , %=Phải sang tráiLưu ý: Việc tính toán biểu thức số học sẽ được tính toán từ trái qua phải và ưu tiên trong ngoặc trước kết hợp với độ ưu tiên trong bảng.
Tổng kết
Bài viết trên mình đã giới thiệu cho các bạn các loại toán tử trong PHP và các biểu thức liên quan đến nó, các bạn thấy thắc mắc chỗ nào cứ để lại bình luận bên dưới bài viết để cùng thảo luận nhé! Sang bài học tiếp theo mình sẽ nói qua về các loại biểu thức điều kiện quan trọng trong PHP. Các bạn nhớ đón đọc nhé!