Toán Tử trong PHP
Toán tử trong PHP được sử dụng để thực hiện các phép toán trên các biến hoặc các giá trị. Các toán tử PHP được sử dụng phổ biến gồm có:
- Toán tử số học.
- Toán tử gán giá trị.
- Toán tử so sánh.
- Toán tử tăng giảm.
- Toán tử logic.
- Toán tử nối chuỗi.
Toán Tử Số Học
PHP hỗ trợ hầu hết các toán tử số học như cộng +
, trừ -
, nhân *
, chia /
, lũy thừa pow()
và tính phần dư %
.
<?php
$x = 10;
$y = 6;
echo $x + $y, "<br>"; // phép cộng => 16
echo $x - $y, "<br>"; // phép trừ => 4
echo $x * $y, "<br>"; // phép nhân => 60
echo $x/$y, "<br>"; // phép chia => 1.6666666666667
echo $x % $y, "<br>"; // phép lấy phần dư => 4
echo pow($x, 7), "<br>"; // phép lũy thừa => 1000000
?>
Toán Tử Gán Giá Trị
Toán tử gán giá trị =
được sử dụng để gán giá trị cho một biến nào đó. Trong đó biến được gán giá trị được đặt ở phía bên tay trái đối với toán tử.
<?php
$x = 10;
echo $x, "<br>";
$y = 5 + 2;
echo $y, "<br>";
$x = $y;
echo $x;
?>
Ở ví dụ trên chúng ta có ba biểu thức sử dụng toán tử gán giá trị đó là: $x = 10
, $y = 5
và $x = $y
. Khi gán giá trị thì vế phải của phép toán luôn là biến còn vế trái của phép toán có thể là một giá trị, một biến hoặc một phép toán khác.
Ngoài ra, trong một số trường hợp PHP còn cho phép bạn sử dụng kết hợp đồng thời giữa toán tử gán với một toán tử số học khác. Hãy xem ví dụ sau để hiểu rõ hơn:
<?php
$x = 20;
$x += 100; // Tương đương với $x = $x + 100
echo $x, "<br>";
$x -=10; // Tương đương với $x = $x - 10
echo $x, "<br>";
$x *= 2; // Tương đương với $x = $x * 2
echo $x, "<br">;
?>
Kết Hợp Gán Giá Trị Với Một Toán Tử Khác
Toán Tử Logic
Toán tử logic được dùng để thực hiện các phép toán về logic. Ba toán tử logic được sử dụng phổ biến trong lập trình đó là:
# | Tên Toán Tử | Ví Dụ & Giải Thích |
---|---|---|
&& |
Toán tử logic hợp (hay logic kết hợp) | $a && $b : Trả về true nếu cả hai biến $a và $b có giá trị là true ngược lại trả về false . |
|| |
Toán tử logic tuyển (hay logic lựa chọn) | $a || $b : Trả về true nếu một trong các biến $a hoặc $b có giá trị là true ngược lại trả về false . |
! |
Toán tử logic phủ định | !$a : Trả về true nếu giá trị của $a là false và ngược lại. |
and |
Toán tử logic hợp (tương tự như && ) |
$a and $b : Trả về true nếu cả hai biến $a và $b có giá trị là true ngược lại trả về false . |
or |
Toán tử logic tuyển (tương tự ||) | $a or $b : Trả về true nếu một trong các biến $a hoặc $b có giá trị là true ngược lại trả về false . |
Ví dụ:
<?php
$x = 100;
$y = 0;
var_dump($x && $y);
echo "<br>";
var_dump($x || $y);
echo "<br>";
var_dump(!$x);
?>
Toán Tử So Sánh
Toán tử so sánh dùng để so sánh hai giá trị dạng số hoặc dạng chuỗi với nhau.
# | Ví Dụ | |
---|---|---|
== |
So sánh ngang bằng | $a == $b : Trả về true nếu giá trị của 2 biến $a và $b bằng nhau |
=== |
So sánh ngang bằng chặt | $a === $b : Trả về true nếu giá trị của 2 biến $a và $b bằng nhau và đồng thời có cùng một kiểu dữ liệu (xem ví dụ phía dưới) |
!= |
So sánh khác | $a != $b : , trả về true nếu giá trị của 2 biểu thức là khác nhau |
!== |
So sánh khác | $a !== $b : , trả về true nếu giá trị của 2 biểu thức là khác nhau và kiểu dữ liệu cũng khác nhau |
> |
So sánh lớn hơn | $a > $b : |
>= |
So sánh lớn hơn hoặc bằng | $a >= $b : |
< |
So sánh nhỏ hơn | $a < $b : |
<= |
So sánh nhỏ hơn hoặc bằng | $a <= $b : |
Ví dụ:
<?php
$a = 3; $b = '3'; $c = 5; $d = 3;
var_dump($a == $b); // true
var_dump($a === $b);
var_dump($a != $b); // false
var_dump($a !== $b); // true
var_dump($a > $c); // false
var_dump($a >= $d); // true
var_dump($a < $c); // true
var_dump($a <= $d); // true
?>
Toán Tử Tăng, Giảm 1 Đơn Vị
Toán tử tăng giảm 1 đơn vị được sử dụng để tăng (hoặc giảm) giá trị của biến cho trước 1 đơn vị:
Tên Toán Tử | Ví Dụ & Giải Thích |
---|---|
Tăng Trước | ++$a : Tăng giá trị hiện có của biến $a 1 đơn vị, sau đó trả về giá trị của biến $a |
Tăng Sau | $a++ : Trả về giá trị hiện có của biến $a , sau đó tăng giá trị của biến $a 1 đơn vị |
Giảm Trước | --$a : Giảm giá trị hiện có của biến $a 1 đơn vị, then returns $a |
Giảm Sau | $a-- : Trả về giá trị hiện có của biến $a , sau đó giảm giá trị của biến $a 1 đơn vị |
Toán tử này rất thuận tiện khi chúng ta cần không chỉ tăng (hoặc giảm) 1 đơn vị của biến mà sau đó gán giá trị này cho một biến khác.
Ví dụ:
<?php
$a = 3;
$a++;
echo $a, "<br>"; // 4
$a--;
echo $a, "<br>"; // 3
++$a;
echo $a, "<br>"; // 4
--$a;
echo $a, "<br>"; // 3
?>
Toán Tử Tăng, Giảm (1 Đơn Vị) trong PHP
Ở đây bạn thấy 2 toán tử ++$a
và $a++
đều cho ra kết quả giống nhau (tương tự $a--
và --$a
cũng đều cho ra cùng một kết quả). Tuy nhiên đây là 2 toán tử khác nhau:
++$a
: Toán tử này sẽ thực hiện việc tăng giá trị biến$a
trước rồi sau đó trả về giá trị đã được tăng lên$a++
: Toán tử này sẽ thực hiện việc trả về giá trị của biến$a
trước rồi sau đó mới tăng giá trị biến$a
Để thấy được sự khác biệt này chúng ta hãy cùng xem ví dụ sau:
<?php
$a = 3;
$b = $a++;
echo $a, "<br>"; // 4
echo $b, "<br>"; // 3
$a = 3;
$b = ++$a;
echo $a, "<br>"; // 4
echo $b, "<br>"; // 4
?>
Phân Biệt Giữa Tăng Trước (Pre-Increment) và Tăng Sau (Post-Increment)
Tương tự cho giảm trước và giảm sau.
Nối Chuỗi
Để nối chuỗi lại với nhau chúng ta dùng toán tử `.
Ví dụ:
<?php
$string_1 = "Hello";
$string_2 = "world";
echo $string_1. " " .$string_2."!";
?>
Toán tử nối chuỗi và gán .=
sẽ thực hiện việc nối chỗi hiện tại với một chỗi mới rồi sau đó gán giá trị này cho chính chuỗi ban đầu.
Ví dụ:
<?php
$string_1 = "Hello";
$string_1 .= "world!";
echo $string_1;
?>