Toán tử (operator) được sử dụng để thực hiện các thao tác trên các biến (variable) và giá trị (value). Trong bài này, chúng ta sẽ tìm hiểu về các loại toán tử (operator) trong PHP. Có nhiều loại toán tử được hỗ trợ trong PHP như:
- Toán tử số học (arithmetic operator)
- Toán tử gán (assignment operator)
- Toán tử so sánh (comparison operator)
- Toán tử tăng/giảm (increment/decrement operator)
- Toán tử logic (logical operator)
- Toán tử trên chuỗi (string operator)
- Toán tử trên mảng (array operator)
Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.
1. Toán tử số học (arithmetic operator)
Toán tử số học sử dụng với các giá trị số để thực hiện các phép toán số học phổ biến như cộng, trừ, nhân, chia,…Toán tử Ý nghĩa Ví dụ + Cộng 2 toán hạng $x + $y – Trừ 2 toán hạng $x – $y * Nhân 2 toán hạng $x * $y / Chia 2 toán hạng $x / $y % Trả về phần dư khi chia toán tử bên trái cho toán tử bên phải $x % $y ** Toán tử bên trái lũy thừa toán tử bên phải $x ** $y
Ví dụ
<?php
$x = 10;
$y = 6;
echo '$x + $y = '. $x + $y.'<br>';
echo '$x - $y = '. $x - $y.'<br>';
echo '$x * $y = '. $x * $y.'<br>';
echo '$x / $y = '. $x / $y.'<br>';
echo '$x % $y = '. $x % $y.'<br>';
echo '$x ** $y = '. $x ** $y;
?>
Kết quả
$x + $y = 16
$x - $y = 4
$x * $y = 60
$x / $y = 1.6666666666667
$x % $y = 4
$x ** $y = 1000000
2. Toán tử gán (assignment operator)
Toán tử gán được sử dụng để gán giá trị cho một biến. Toán tử gán cơ bản trong PHP là “=“. Ngoài ra, PHP còn hỗ trợ một số toán tử gán tắt.Toán tử (operator) Ví dụ Tương đương = $x = $y $x = $y += $x += $y $x = $x + $y -= $x -= $y $x = $x – $y *= $x *= $y $x = $x * $y /= $x /= $y $x = $x / $y %= $x %= $y $x = $x % $y
Ví dụ
<?php
$x = 10;
$y = 6;
$x = $y;
echo '$x = $y then $x = '. $x.'<br>';
$x += $y;
echo '$x += $y then $x = '. $x.'<br>';
$x -= $y;
echo '$x -= $y then $x = '. $x.'<br>';
$x *= $y;
echo '$x *= $y then $x = '. $x.'<br>';
$x /= $y;
echo '$x /= $y then $x = '. $x.'<br>';
$x %= $y;
echo '$x %= $y then $x = '. $x;
?>
Kết quả
$x = $y then $x = 6
$x += $y then $x = 12
$x -= $y then $x = 6
$x *= $y then $x = 36
$x /= $y then $x = 6
$x %= $y then $x = 0
3. Toán tử so sánh (comparison operator)
Toán tử so sánh trong PHP được sử dụng để so sánh hai giá trị (số hoặc chuỗi).Toán tử (operator) Ý nghĩa Ví dụ == Trả về True nếu cả 2 toán hạng bằng nhau và ngược lại trả về False $x == $y === Trả về True nếu cả 2 toán hạng bằng nhau và 2 toán hạng có cùng kiểu dữ liệu. Ngược lại, trả về False $x === $y > Trả về True nếu toán hạng bên trái lớn hơn toán hạng bên phải và ngược lại trả về False $x > $y < Trả về True nếu toán hạng bên trái nhỏ hơn toán hạng bên phải và ngược lại trả về False $x < $y != Trả về True nếu 2 toán hạng không bằng nhau và ngược lại trả về False $x != $y !== Trả về True nếu 2 toán hạng không bằng nhau hoặc khác kiểu dữ liệu. Ngược lại, trả về False $x !== $y >= Trả về True nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải và ngược lại trả về False $x >= $y <= Trả về True nếu toán hạng bên trái nhỏ hơn hoặc bằng toán hạng bên phải và ngược lại trả về False $x <= $y <> Trả về True nếu 2 toán hạng không bằng nhau $x <> $y <=> Trả về -1 nếu toán hạng bên trái nhỏ hơn bên phải, 0 nếu 2 toán hạng bằng nhau, 1 nếu toán hạng bên trái lớn hơn bên phải. Được giới thiệu trong PHP 7. $x <=> $y
Ví dụ
<?php
$x = 10;
$y = 6;
echo '$x(10) == $y(6) is ';
var_dump($x == $y);
echo '<br>';
echo '$x(10) === $y(6) is ';
var_dump($x === $y);
echo '<br>';
echo '$x(10) > $y(6) is ';
var_dump($x > $y);
echo '<br>';
echo '$x(10) < $y(6) is ';
var_dump($x < $y);
echo '<br>';
echo '$x(10) != $y(6) is ';
var_dump($x != $y);
echo '<br>';
echo '$x(10) !== $y(6) is ';
var_dump($x !== $y);
echo '<br>';
echo '$x(10) >= $y(6) is ';
var_dump($x >= $y);
echo '<br>';
echo '$x(10) <= $y(6) is ';
var_dump($x <= $y);
echo '<br>';
echo '$x(10) <> $y(6) is ';
var_dump($x <> $y);
echo '<br>';
echo '$x(10) <=> $y(6) is ';
var_dump($x <=> $y);
echo '<br>';
?>
Kết quả
$x(10) == $y(6) is bool(false)
$x(10) === $y(6) is bool(false)
$x(10) > $y(6) is bool(true)
$x(10) < $y(6) is bool(false)
$x(10) != $y(6) is bool(true)
$x(10) !== $y(6) is bool(true)
$x(10) >= $y(6) is bool(true)
$x(10) <= $y(6) is bool(false)
$x(10) <> $y(6) is bool(true)
$x(10) <=> $y(6) is int(1)
4. Toán tử tăng/giảm (increment/decrement operator)
Toán tử tăng trong PHP được sử dụng để tăng giá trị của một biến. Toán tử giảm trong PHP được sử dụng để giảm giá trị của một biến.Toán tử Ý nghĩa ++$x Tăng $x lên 1 giá trị rồi trả về $x $x++ Trả về $x rồi tăng $x lên 1 giá trị –$x Giảm $x xuống 1 giá trị rồi trả về $x $x– Trả về $x rồi giảm $x xuống 1 giá trị
Ví dụ
<?php
$x = 10;
echo '$x++: '.$x++.'<br>';
$x = 10;
echo '++$x: '.++$x.'<br>';
$x = 10;
echo '$x--: '.$x--.'<br>';
$x = 10;
echo '--$x: '.--$x.'<br>';
?>
Kết quả
$x++: 10
++$x: 11
$x--: 10
--$x: 9
5. Toán tử logic (logical operator)
Bên dưới là các toán tử logic được hỗ trợ trong PHP.Toán tử Ví dụ Ý nghĩa and $x and $y Trả về True nếu cả $x và $y là True or $x or $y Trả về True nếu $x hoặc $y là True xor $x xor $y Trả về True nếu chỉ $x hoặc $y là True (không phải cả $x, $y là True) && $x && $y Trả về True nếu cả $x và $y là True || $x || $y Trả về True nếu $x hoặc $y là True ! !$x Trả về True nếu $x không phải True
Ví dụ
<?php
$x = 10;
$y = 6;
$result = $x==10 and $y==6;
echo '$x==10 and $y==6 is ';
var_dump($result);
echo '<br>';
$result = $x==10 or $y==6;
echo '$x==10 or $y==6 is ';
var_dump($result);
echo '<br>';
$result = ($x==10 xor $y==6);
echo '($x==10 xor $y==6) is ';
var_dump($result);
echo '<br>';
$result = $x==10 && $y==6;
echo '$x==10 && $y==6 is ';
var_dump($result);
echo '<br>';
$result = $x==10 || $y==6;
echo '$x==10 || $y==6 is ';
var_dump($result);
echo '<br>';
$result = $x!=10;
echo '$x!=10 is ';
var_dump($result);
?>
Kết quả
$x==10 and $y==6 is bool(true)
$x==10 or $y==6 is bool(true)
($x==10 xor $y==6) is bool(false)
$x==10 && $y==6 is bool(true)
$x==10 || $y==6 is bool(true)
$x!=10 is bool(false)
6. Toán tử trên chuỗi (string operator)
PHP hỗ trợ 2 toán tử đặc biệt để thao tác trên chuỗi (string).Toán tử Ví dụ Ý nghĩa . $txt1 . $txt2 Nối chuỗi $txt1 và $txt2 thành một chuỗi mới .= $txt1 .= $txt2 Nối chuỗi $txt2 vào chuỗi $txt1
Ví dụ
<?php
$txt1 = "Welcome to";
$txt2 = " gochocit.com!";
$result1 = $txt1 . $txt2;
$txt1 .= $txt2;
echo '$txt1 . $txt2: '.$result1.'<br>';
echo '$txt1 .= $txt2 then $txt1: '.$txt1;
?>
Kết quả
$txt1 . $txt2: Welcome to gochocit.com!
$txt1 .= $txt2 then $txt1: Welcome to gochocit.com!
7. Toán tử trên mảng (array operator)
Toán tử trên mảng trong PHP dùng để so sánh mảng.Toán tử Ví dụ Ý nghĩa + $x + $y Kết hợp mảng $x và $y == $x == $y Trả về True nếu mảng $x và $y có các cặp key/value giống nhau === $x === $y Trả về True nếu mảng $x và $y có các cặp key/value giống nhau, kể cả thứ tự trong mảng và có cùng kiểu dữ liệu != $x != $y Trả về True nếu mảng $x không bằng mảng $y <> $x <> $y Trả về True nếu mảng $x không bằng mảng $y !== $x !== $y Trả về True nếu mảng $x không giống mảng $y
Ví dụ
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
echo '$x + $y: ';
print_r($x + $y);
echo '<br>';
echo '$x == $y is ';
var_dump($x == $y);
echo '<br>';
echo '$x === $y is ';
var_dump($x === $y);
echo '<br>';
echo '$x != $y is ';
var_dump($x != $y);
echo '<br>';
echo '$x <> $y is ';
var_dump($x <> $y);
echo '<br>';
echo '$x!==$y is ';
var_dump($x !== $y);
?>
Kết quả
$x + $y: Array ( [a] => red [b] => green [c] => blue [d] => yellow )
$x == $y is bool(false)
$x === $y is bool(false)
$x != $y is bool(true)
$x <> $y is bool(true)
$x!==$y is bool(true)
Ngoài các toán tử đã trình bày, PHP còn hỗ trợ các toán tử như toán tử gán có điều kiện (conditional assignment operator), toán tử instanceof,… Các toán tử này sẽ được giới thiệu ở những bài sau của series môn học Lập trình Web PHP.