Khái niệm về toán tử và phân loại toán tử PHPXem xét một biểu thức tính toán trong PHP ví dụ: 10 + 15 , đây là phép cộng cho giá trị là 25. Trong biểu thức đó các số 10 , 15 gọi là toán hạng ký hiệu + chính là toán tử của phép cộng. Trong PHP có nhiều toán tử được phân loại thành 5 nhóm như sau: - TOÁN TỬ
PHP
- Các toán tử số học
- Các toán tử so sánh
- Các toán tử Logic
- Các toán tử gán
- Các toán tử điều kiện
Các toán tử số họcGồm các phép toán + - * / % ++ -- vớ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ụ
Toán tử | Diễn tả | Ví dụ |
---|
+
| Phép cộng hai số
| $A + $B : 94 + 26 = 120
| -
| Phép trừ
| $A - $B : 94 - 26 = 68
| *
| Phép nhân
| $A * $B : 94 * 26 = 2444
| /
| Phép chia
| $A / $B :
94 / 26 = 3.6153846153846
| %
| modulo : Phép chia lấy dư. Phần dư của phép chia hai số nguyên
| $A / $B :
94 % 26 = 16
| ++
| Phép toán tăng thêm 1 vào biến
| $A++ kết quả $A = 95
| --
| Phép toán giảm đi giá trị 1
| $B-- kết quả $B = 25
|
Ví dụ: Có đoạn mã nhúng PHP vào file html như sau: <html>
<head><title>Toán tử số học</title><head>
<body>
<?php
$a = 94;
$b = 26;
$c = $a + $b;
echo "Kết quả phép cộng: $c <br/>";
$c = $a - $b;
echo "Kết quả phép trừ: $c <br/>";
$c = $a * $b;
echo "Kết quả phép nhân: $c <br/>";
$c = $a / $b;
echo "Kết quả phép chia: $c <br/>";
$c = $a % $b;
echo "Phần dư phép chia: $c <br/>";
$c = $a++;
echo "Thêm một vào $c: $a <br/>";
$c = $a--;
echo "Giảm $a đi 1: $c <br/>";
?>
</body>
</html> Kết quả phép cộng: 120 Kết quả phép trừ: 68 Kết quả phép nhân: 2444 Kết quả phép chia: 3.6153846153846 Phần dư phép chia: 16 Thêm một vào 94: 95 Giảm 95 đi 1: 94 Toán tử so sánhCác toán tử so sánh trong PHP gồm có: == != > < >= <= Cách sử dụng các toán tử này được mô tả như bảng sau: Giả sử có hai số $C và $D với các giá trị thiết lập như sau:
Toán tử | Diễn tả | Ví dụ |
---|
==
| So sánh bằng: true nếu hai toán hạng bằng nhau và false nếu khác
| $C == $D ≡ 24 == 16 ≡ false
| !=
| So sánh khác: nếu hai toán hạng có giá trị khác nhau thì có giá trị true , giá trị giống nhau thì là false
| $C != $D ≡ 24 != 16 ≡ true
| >
| So sánh lớn hơn: true nếu toán hạng thứ nhất lớn hơn toán hạng thứ hai
| $C > $D ≡ 24 > 16 ≡ true
| >=
| So sánh lớn hơn hoặc bằng: true nếu toán hạng thứ nhất lớn hơn hoặc bằng toán hạng thứ hai
| $C >= $D ≡ 24 >= 16 ≡ true
| <
| So sánh nhỏ hơn: true nếu toán hạng thứ nhất nhỏ hơn toán hạng thứ hai
| $C > $D ≡ 24 < 16 ≡ false
| <=
| So sánh nhỏ hơn hoặc bằng: true nếu toán hạng thứ nhất nhỏ hơn hoặc bằng toán hạng thứ hai
| $C <= $D ≡ 24 <= 16 ≡ false
|
Ví dụ, có file HTML nhúng mã PHP như sau:
<html>
<head><title>Ví dụ về toán tử so sánh</title><head>
<body>
<?php
$a = 24;
$b = 16;
if( $a == $b ){
echo "a bằng b<br/>";
}else{
echo "a không bằng b<br/>";
}
if( $a > $b ){
echo "a lớn hơn b<br/>";
}else{
echo "a không lớn hơn b<br/>";
}
if( $a < $b ){
echo "a nhỏ hơn b<br/>";
}else{
echo "a không nhỏ hơn b<br/>";
}
if( $a != $b ){
echo "a khác b<br/>";
}else{
echo "b bằng b<br/>";
}
if( $a >= $b ){
echo "a lớn hơn hoặc bằng b<br/>";
}else{
echo "a không lớn hơn hoặc bằng<br/>";
}
if( $a <= $b ){
echo "a nhỏ hơn hoặc bằng b<br/>";
}else{
echo "a không nhỏ hơn hoặc bằng b<br/>";
}
?>
</body>
</html> Chạy code trên ra kết quả như sau (a = 24; b = 16): a không bằng b a lớn hơn b a không nhỏ hơn b a khác b a lớn hơn hoặc bằng b a không nhỏ hơn hoặc bằng b
Toán tử LogicCác toán tử logic là: and or && || và ! Giả sử $A và $B là hai số bạn thiết lập giá trị của chúng như sau: Lưu ý vì quy tắc chuyển đổi biến, trong biểu thức logic nếu một số khác không PHP tự động nhận biết đó là giá trị true , vậy $A = 4 là true ; $B = 5 là true ;
Toán tử | Diễn tả | Ví dụ |
---|
and
| Toán tử và: true nếu hai toán hạng có giá trị true
| ($A and $B) ≡ (4 and 5) ≡ (true and true) ≡
true
| or
| Toán tử hoặc: true nếu một trong hai toán tử là true
| ($A or $B) ≡ (4 or 5) ≡ (true or true) ≡
true
| &&
| Toán tử và: true nếu hai toán hạng có giá trị true
| ($A && $B) ≡ (4 && 5) ≡ (true && true) ≡
true
| ||
| Toán tử hoặc: true nếu một trong hai toán tử là true
| ($A || $B) ≡ (4 || 5) ≡ (true || true) ≡
true
| !
| Toán NOT (phủ định): true nếu giá trị là false
| !($A || $B) ≡ !(4 || 5) ≡ !(true || true) ≡
false
|
Các toán tử gánCác toán tử gán gồm: = += -= *= /= %=
Toán tử | Diễn tả | Ví dụ |
---|
=
| Toán tử gán: Gán biểu thức bên phải của = vào biến bên trái
| $C = ($A + $B) kết quả $C bằng 9
| +=
| Toán tử công thêm: Công thêm vào biến bên trái += giá trị bên phải
| $C = 46; $C += ($A + $B) kết quả $C bằng 55
| -=
| Toán tử trừ bớt: Bớt đi giá trị biến bên trái của -= một lượng bằng biểu thức bên phải
| $C = 60; $C -= ($A + $B) kết quả $C bằng 51
| *=
| Toán tử nhân với: $A *= $B tương đương với $A = $A * $B
| $A *= $B kết quả $A bằng 20
| /=
| Toán tử chia cho: $A /= $B tương đương với $A = $A / $B
| $A /= $B kết quả $A bằng 0.8
| %=
| Toán tử gán module: $A %= $B tương đương với $A = $A % $B
| $A %= $B kết quả $A bằng 4
|
Các toán điều kiện Sử dụng cặp ký hiệu ? và : để có loại toán tử này. Xét biểu thức sau: $a ? $b : $c thì giá trị của biểu thức là $b nếu $a là true ; và là $c nếu $a là false . Ví dụ:
<?
$a = 10;
$b = 15;
$c = ($a < $b) ? $a : $b;
//Tương đương với đoạn code sau
if ($a < $b)
$c = $a;
else
$c = $b;
?>
Từ PHP7 có thêm toán tử ?? : Toán tử này là sự kết hợp của ?: và hàm isset()
<?
$c = $a ?? $b;
//Tương đương với đoạn code sau
$c = isset($a) ? $a : $b;
?>
|