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