Trong bài học PHP này, bạn sẽ học sử dụng 8 loại toán tử để hoàn thành các công việc trong PHP.
Toán tử trong PHP là gì?
Các toán tử là các ký hiệu báo cho bộ xử lý PHP (PHP Processor) thực hiện các hành động nhất định.
Ví dụ: Ký hiệu cộng (+) là toán tử yêu cầu PHP cộng hai biến hoặc giá trị, trong khi ký hiệu lớn hơn (>) là toán tử báo cho PHP so sánh hai giá trị.
1. Toán tử số học (Arithmetic Operator) trong PHP
Các toán tử số học được sử dụng để thực hiện các phép toán số học phổ biến, chẳng hạn như cộng, trừ, nhân, chia v.v …
Đây là danh sách đầy đủ các toán tử số học của PHP:
Toán tử | Cách gọi tên | Ví dụ | Kết quả |
---|---|---|---|
+ | Addition | $x + $y | Tổng của $x và $y |
- | Subtraction | $x - $y | Hiệu của $x và $y. |
* | Multiplication | $x * $y | Tích của $x và $y. |
/ | Division | $x / $y | Thương của $x và $y |
% | Modulus | $x % $y | Số dư của phép chia $x cho $y |
Ví dụ sau đây sẽ cho bạn thấy cách các toán tử số học này làm việc:
<?php
$x = 10;
$y = 4;
echo($x + $y); // Kết quả là: 14
echo($x - $y); // Kết quả là: 6
echo($x * $y); // Kết quả là: 40
echo($x / $y); // Kết quả là: 2.5
echo($x % $y); // Kết quả là: 2
?>
2. Toán tử gán (Assignment Operator) trong PHP
Các toán tử gán được sử dụng để gán giá trị cho các biến.:
Toán tử | Cách gọi tên | Ví dụ | Tương tự như |
---|---|---|---|
= | Assign | $x = $y | $x = $y |
+= | Add and assign | $x += $y | $x = $x + $y |
-= | Subtract and assign | $x -= $y | $x = $x - $y |
*= | Multiply and assign | $x *= $y | $x = $x * $y |
/= | Divide and assign quotient | $x /= $y | $x = $x / $y |
%= | Divide and assign modulus | $x %= $y | $x = $x % $y |
Ví dụ sau đây sẽ cho bạn thấy các toán tử gán này đang hoạt động:
<?php
$x = 10;
echo $x; // Kết quả: 10
$x = 20;
$x += 30;
echo $x; // Kết quả: 50
$x = 50;
$x -= 20;
echo $x; // Kết quả: 30
$x = 5;
$x *= 25;
echo $x; // Kết quả: 125
$x = 50;
$x /= 10;
echo $x; // Kết quả: 5
$x = 100;
$x %= 15;
echo $x; // Kết quả: 10
?>
3. Toán tử so sánh (Comparison Operator) trong PHP
Các toán tử so sánh được sử dụng để so sánh hai giá trị theo kiểu ĐÚNG hoặc SAI (Kiểu Boolean)
Toán tử | Cách gọi tên | Ví dụ | Kết quả |
---|---|---|---|
== | Equal | $x == $y | True nếu $x bằng $y |
=== | Identical | $x === $y | True nếu $x bằng $y, và cùng kiểu dữ liệu |
!= | Not equal | $x != $y | True nếu $x không bằng $y |
<> | Not equal | $x <> $y | True if $x không phải $y |
!== | Not identical | $x !== $y | True nếu $x không bằng $y, và khác cả kiểu dữ liệu |
< | Less than | $x < $y | True nếu $x nhỏ hơn $y |
> | Greater than | $x > $y | True nếu $x lớn hơn $y |
>= | Greater than or equal to | $x >= $y | True nếu $x lớn hơn hoặc bằng $y |
<= | Less than or equal to | $x <= $y | True nếu $x nhỏ hơn hoặc bằng $y |
Ví dụ sau đây sẽ cho bạn thấy các toán tử so sánh này đang hoạt động:
<?php
$x = 25;
$y = 35;
$z = "25";
// Trả về kết quả và kiểu dữ liệu
var_dump($x == $z); // Kết quả: boolean true
var_dump($x === $z); // Kết quả: boolean false
var_dump($x != $y); // Kết quả: boolean true
var_dump($x !== $z); // Kết quả: boolean true
var_dump($x < $y); // Kết quả: boolean true
var_dump($x > $y); // Kết quả: boolean false
var_dump($x <= $y); // Kết quả: boolean true
var_dump($x >= $y); // Kết quả: boolean false
?>
4. Các toán tử tăng và giảm trong PHP
Các toán tử tăng (++) / giảm (–) được sử dụng để tăng / giảm giá trị của một biến.
Toán tử | Tên gọi | Cách hoạt động |
---|---|---|
++$x | Pre-increment | Tăng $x thêm 1, sau đó trả về $x |
$x++ | Post-increment | Trả về $x, sau đó mới tăng $x thêm 1 |
--$x | Pre-decrement | Giảm $x đi 1, sau đó trả về $x |
$x-- | Post-decrement | Trả về $x, sau đó giảm $x đi 1 |
Ví dụ sau đây sẽ cho bạn thấy các toán tử tăng và giảm này đang hoạt động:
<?php
$x = 10;
echo ++$x; // Outputs: 11
echo $x; // Outputs: 11
$x = 10;
echo $x++; // Outputs: 10
// Vì trả về kết quả rồi mới tăng $x lên 1 nên:
echo $x; // Outputs: 11
$x = 10;
echo --$x; // Outputs: 9
echo $x; // Outputs: 9
$x = 10;
echo $x--; // Outputs: 10
// Vì trả về kết quả rồi mới giảm $x đi 1 nên:
echo $x; // Outputs: 9
?>
5. Toán tử Logic (Logical Operator) trong PHP
Các toán tử logic thường được sử dụng kết hợp trong các câu lệnh có điều kiện.
Toán tử | Tên | Ví dụ | Kết quả |
---|---|---|---|
and | And | $x and $y | True nếu cả $x và $y đúng |
or | Or | $x or $y | True nếu chỉ cần $x hoặc $y đúng |
xor | Xor | $x xor $y | True nếu $x hoặc $y đúng, Nhưng không phải cả 2 |
&& | And | $x && $y | True nếu $x và $y đều đúng |
|| | Or | $x || $y | True nếu chỉ cần $x hoặc $y đúng |
! | Not | !$x | True nếu $x không đúng |
Ví dụ sau đây sẽ cho bạn thấy các toán tử logic này hoạt động như thế nào:
<?php
$year = 2014;
// Năm nhuận chi hết cho 400 hoặc 4 nhưng không chia hết cho 100
if(($year % 400 == 0) || (($year % 100 != 0) && ($year % 4 == 0))){
echo "$year là năm nhuận.";
} else{
echo "$year không phải năm nhuận.";
}
?>
6. Toán tử chuỗi (String Operator) PHP
Có hai toán tử được thiết kế riêng dành cho chuỗi trong PHP.
Toán tử | Mô tả | Ví dụ | Kết quả |
---|---|---|---|
. | Nối chuỗi | $strN . $str2 | Nối $str1 và $str2 |
.= | Concatenation assignment | $str1 .= $str2 | Ghép $str2 vào $str1 |
Ví dụ sau đây sẽ cho bạn thấy các toán tử chuỗi này hoạt động như thế nào:
<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // Kết quả: Hello World!
$x .= $y;
echo $x; // Outputs: Hello World!
?>
Chính xác là toán tử .= sẽ ghép $x và $y sau đó lại gán chuỗi vừa ghép xong cho chuỗi $x.
7. Toán tử mảng (Array Operator) PHP
Các toán tử mảng được sử dụng để so sánh các mảng:
Toán tử | Tên | Ví dụ | Kết quả |
---|---|---|---|
+ | Union | $x + $y | Hợp nhất $x và $y tạo thành mảng mới |
== | Equality | $x == $y | True nếu $xvà $y có cùng cặp key và value |
=== | Identity | $x === $y | True nếu $x và $y giống key/value theo một thứ tự và cùng kiểu dữ liệu |
!= | Inequality | $x != $y | True nếu $x không bằng $y |
<> | Inequality | $x <> $y | True nếu $x không bằng $y |
!== | Non-identity | $x !== $y | True nếu $x không giống với $y |
Ví dụ sau đây sẽ cho bạn thấy cách các toán tử mảng này hoạt động như thế nào:
<?php
$x = array("a" => "Red", "b" => "Green", "c" => "Blue");
$y = array("u" => "Yellow", "v" => "Orange", "w" => "Pink");
$z = $x + $y; // Hợp nhất $x và $y
var_dump($z);
var_dump($x == $y); // Kết quả: boolean false
var_dump($x === $y); // Kết quả: boolean false
var_dump($x != $y); // Kết quả: boolean true
var_dump($x <> $y); // Kết quả: boolean true
var_dump($x !== $y); // Kết quả: boolean true
?>
8. ĐẶC BIỆT: Spaceship Operator trong phiên bản PHP 7
PHP 7 giới thiệu một Toán tử Spaceship mới (<=>) 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ị:
- 0 nếu cả hai toán hạng đều bằng nhau
- 1 nếu bên trái lớn hơn và
- -1 nếu bên phải lớn hơn
Về cơ bản, Toán tử Spaceship cung cấp so sánh ba chiều như trong bảng sau:
Toán tử | <=> Tương đương |
---|---|
$x < $y | ($x <=> $y) === -1 |
$x <= $y | ($x <=> $y) === -1 || ($x <=> $y) === 0 |
$x == $y | ($x <=> $y) === 0 |
$x != $y | ($x <=> $y) !== 0 |
$x >= $y | ($x <=> $y) === 1 || ($x <=> $y) === 0 |
$x > $y | ($x <=> $y) === 1 |
Ví dụ sau đây sẽ cho bạn thấy cách sử dụng toán tử Spaceship:
<?php
// Comparing Integers
echo 1 <=> 1; // Kết quả: 0
echo 1 <=> 2; // Kết quả: -1
echo 2 <=> 1; // Kết quả: 1
// Comparing Floats
echo 1.5 <=> 1.5; // Kết quả: 0
echo 1.5 <=> 2.5; // Kết quả: -1
echo 2.5 <=> 1.5; // Kết quả: 1
// Comparing Strings
echo "x" <=> "x"; // Kết quả: 0
echo "x" <=> "y"; // Kết quả: -1
echo "y" <=> "x"; // Kết quả: 1
?>
Như bạn thấy. Nế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.
Tổng kết
Như vậy là chúng ta đã tìm hiểu về 8 loại Toán tử trong PHP. Hãy ghi nhớ hoặc Bookmark lại để khi nào cần dùng thì lôi ra sử dụng nhé.