PHP - Toán tử

Toán tử là gì? Câu trả lời đơn giản từ biểu thức 4 + 5 là bằng 9. Ở đây, 4 và 5 được gọi là các toán hạng và + được gọi là toán tử.

Ngôn ngữ PHP hỗ trợ các kiểu toán tử sau:

  • Toán tử số học
  • Toán tử so sánh
  • Toán tử logic (hay toán tử quan hệ)
  • Toán tử gán
  • Toán tử điều kiện (hoặc toán tử 3 ngôi)

Toán tử số học trong PHP

Bảng dưới liệt kê các toán tử số học được hỗ trợ bởi ngôn ngữ PHP:

Giả sử biến A giữ giá trị 10, biến B giữ 20 thì:

Ví dụ

<html>
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
      <?php
         $a = 22;
         $b = 10;
         $c = $a + $b;
         echo "Kết quả của phép cộng là: $c <br/>";
         $c = $a - $b;
         echo "Kết quả của phép trừ là: $c <br/>";
         $c = $a * $b;
         echo "Kết quả của phép nhân là: $c <br/>";
         $c = $a / $b;
         echo "Kết quả của phép chia là: $c <br/>";
         $c = $a % $b;
         echo "Kết quả của phép lấy số dư là: $c <br/>";
         $c = $a++; 
         echo "Kết quả của phép tăng là: $c <br/>";
         $c = $a--; 
         echo "Kết quả của phép giảm là: $c <br/>";
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

 Vi du toan tu trong php


Toán tửMiêu tảVí dụ
+Cộng hai toán hạngA + B kết quả là 30
-Trừ toán hạng thứ hai từ toán hạng đầuA - B kết quả là -10
\*Nhân hai toán hạngA \* B kết quả là 200
/Phép chiaB / A kết quả là 2
%Phép lấy số dưB % A kết quả là 0
++Toán tử tăng, tăng giá trị toán hạng thêm một đơn vịA++ kết quả là 11
--Toán tử giảm, giảm giá trị toán hạng đi một đơn vịA-- kết quả là 9

Toán tử so sánh trong PHP

Bảng dưới liệt kê các toán tử so sánh được hỗ trợ bởi ngôn ngữ PHP. Giả sử biến A giữ giá trị 10, biến B giữ giá trị 20, thì:

Ví dụ

<html>
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
      <?php
         $a = 22;
         $b = 10;
         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ông bằng b<br/>";
         }
         else{
            echo "a 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 b<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>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Toán tửMiêu tảVí dụ
==Kiểm tra nếu 2 toán hạng bằng nhau hay không. Nếu bằng thì điều kiện là true.(A == B) là không true.
!=Kiểm tra 2 toán hạng có giá trị khác nhau hay không. Nếu không bằng thì điều kiện là true.(A != B) là true.
>Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn toán hạng bên phải hay không. Nếu lớn hơn thì điều kiện là true.(A > B) là không true.
<Kiểm tra nếu toán hạng bên trái nhỏ hơn toán hạng bên phải hay không. Nếu nhỏ hơn thì là true.(A < B) là true.
>=Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không. Nếu đúng là true.(A >= B) là không true.
<=Kiểm tra nếu toán hạng bên trái có giá trị nhỏ hơn hoặc bằng toán hạng bên phải hay không. Nếu đúng là true.(A <= B) là true.

Toán tử logic trong PHP

Bảng dưới đây chỉ rõ tất cả các toán tử logic được hỗ trợ bởi ngôn ngữ PHP. Giả sử biến A có giá trị 10 và biến B có giá trị 20, thì:

Ví dụ

Bạn thử ví dụ dưới đây để hiểu rõ về toán tử logic trong PHP. Sao chép và dán chương trình sau trong test.php file và giữ nó trong htdocs của PHP Server và duyệt nó bởi sử dụng bất kỳ trình duyệt nào.

<html>
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
      <?php
         $a = 22;
         $b = 0;
         if( $a && $b ){
            echo "Cả a và b là true<br/>";
         }
         else{
            echo "Hoặc a hoặc b là false<br/>";
         }
         if( $a and $b ){
            echo "Cả a và b là true<br/>";
         }
         else{
            echo "Hoặc a hoặc b là false<br/>";
         }
         if( $a || $b ){
            echo "Hoặc a hoặc b là true<br/>";
         }
         else{
            echo "Cả a và b là false<br/>";
         }
         if( $a or $b ){
            echo "Hoặc a hoặc b là true<br/>";
         }
         else{
            echo "Cả a và b là false<br/>";
         }
         $a = 11;
         $b = 22;
         if( $a ){
            echo "a là true <br/>";
         }
         else{
            echo "a là false<br/>";
         }
         if( $b ){
            echo "b là true <br/>";
         }
         else{
            echo "b là false<br/>";
         }
         if( !$a ){
            echo "a là true <br/>";
         }
         else{
            echo "a là false<br/>";
         }
         if( !$b ){
            echo "b là true <br/>";
         }
         else{
            echo "b là false<br/>";
         }
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Toán tửMiêu tảVí dụ
andĐược gọi là toán tử Logic AND. Nếu cả hai toán hạng là true thì điều kiện trở thành true(A and B) là true.
orĐược gọi là toán tử Logic OR. Nếu một trong hai toán hạng là đúng thì điều kiện trở thành true(A or B) là true.
&&Được gọi là toán tử Logic AND. Nếu cả hai toán hạng là true thì điều kiện trở thành true(A && B) là true.
||Được gọi là toán tử Logic OR. Nếu một trong hai toán hạng là đúng thì điều kiện trở thành true(A || B) là true.
!Được gọi là toán tử Logic NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng. Nếu điều kiện là true thì toán tử Logic NOT sẽ cho kết quả là false!(A && B) là false.

Toán tử gán trong PHP

Dưới đây là những toán tử gán được hỗ trợ bởi ngôn ngữ PHP:

Ví dụ

Bạn thử ví dụ dưới đây để hiểu rõ về toán tử gán trong PHP. Sao chép và dán chương trình sau trong test.php file và giữ nó trong htdocs của PHP Server và duyệt nó bởi sử dụng bất kỳ trình duyệt nào.

<html>
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
      <?php
         $a = 22;
         $b = 10;
         $c = $a + $b;   /* Toán tử gán */
         echo "Kết quả của phép cộng: $c <br/>";
         $c += $a;  /* giá trị của c = c + a */
         echo "Kết quả của phép += là: $c <br/>";
         $c -= $a; /* giá trị của c = c - a */
         echo "Kết quả của phép -= là: $c <br/>";
         $c *= $a; /* giá trị của c = c * a */
         echo "Kết quả của phép *= là: $c <br/>";
         $c /= $a;  /* giá trị của c = c/a */
         echo "Kết quả của phép /= là: $c <br/>";
         $c %= $a; /* giá trị của c = c % a*/
         echo "Kết quả của phép %= là: $c <br/>";
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Toán tửMiêu tảVí dụ
=Toán tử gán đơn giản. Gán giá trị toán hạng bên phải cho toán hạng tráiC = A + B sẽ gán giá trị của A + B vào trong C
+=Thêm giá trị toán hạng phải tới toán hạng trái và gán giá trị đó cho toán hạng tráiC += A là tương đương với C = C + A
-=Trừ đi giá trị toán hạng phải từ toán hạng trái và gán giá trị này cho toán hạng tráiC -= A là tương đương với C = C - A
*=Nhân giá trị toán hạng phải với toán hạng trái và gán giá trị này cho toán hạng tráiC *= A là tương đương với C = C * A
/=Chia toán hạng trái cho toán hạng phải và gán giá trị này cho toán hạng tráiC /= A là tương đương với C = C / A
%=Lấy phần dư của phép chia toán hạng trái cho toán hạng phải và gán cho toán hạng tráiC %= A là tương đương với C = C % A

Toán tử điều kiện trong PHP

Có nhiều hơn một toán tử được gọi là toán tử điều kiện. Đầu tiên, nó ước lượng một biểu thức là true hoặc false và sau đó thực thi một trong hai lệnh đã cho tùy thuộc vào kết quả của việc ước lượng. Toán tử điều kiện có cú pháp như sau:

Ví dụ

Bạn thử ví dụ dưới đây để hiểu rõ về toán tử điều kiện trong PHP. Sao chép và dán chương trình sau trong test.php file và giữ nó trong htdocs của PHP Server và duyệt nó bởi sử dụng bất kỳ trình duyệt nào.

<html>
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
      <?php
         $a = 11;
         $b = 22;
         /* Nếu điều kiện là true thì gán giá trị a cho biến ketqua, nếu không sẽ gán giá trị b */
         $ketqua = ($a > $b ) ? $a :$b;
         echo "Giá trị của biến ketqua là: $ketqua<br/>";
         /* Nếu điều kiện là true thì gán giá trị a cho biến ketqua, nếu không sẽ gán giá trị b */
         $ketqua = ($a < $b ) ? $a :$b;
         echo "Giá trị của biến ketqua là: $ketqua<br/>";
      ?>
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Toán tửMiêu tảVí dụ
? :Biểu thức điều kiệnNếu điều kiện là true ? Thì giá trị X : Nếu không thì giá trị Y

Phân loại toán tử trong PHP

Tất cả toán tử ở trên có thể được phân thành các loại sau trong PHP:

  • Toán tử một ngôi (unary operator), mà đặt trước một toán hạng.
  • Toán tử nhị phân (binary operator), nhận hai toán hạng và thực hiện các hoạt động số học và logic đa dạng.
  • Toán tử điều kiện (ternary operator) hay là toán tử tam ngôi, nhận ba toán hạng và ước lượng hoặc biểu thức thứ hai hoặc biểu thức thứ ba, phụ thuộc vào kết quả ước lượng của biểu thức đầu tiên.
  • Toán tử gán, mà gán một giá trị cho một biến.

Thứ tự ưu tiên toán tử trong PHP

Thứ tự ưu tiên toán tử trong PHP xác định cách biểu thức được tính toán. Ví dụ, toán tử nhân có quyền ưu tiên hơn toán tử cộng, và nó được thực hiện trước.

Ví dụ, x = 7 + 3 * 2; ở đây, x được gán giá trị 13, chứ không phải 20 bởi vì toán tử * có quyền ưu tiên cao hơn toán tử +, vì thế đầu tiên nó thực hiện phép nhân 3 * 2 và sau đó thêm với 7.

Bảng dưới đây liệt kê thứ tự ưu tiên của các toán tử trong PHP. Các toán tử với quyền ưu tiên cao nhất xuất hiện trên cùng của bảng, và các toán tử có quyền ưu tiên thấp nhất thì ở bên dưới cùng của bảng. Trong một biểu thức, các toán tử có quyền ưu tiên cao nhất được tính toán đầu tiên.

LoạiToán tửThứ tự ưu tiên
Unary! ++ --Phải sang trái
Tính nhân* / %Trái sang phải
Tính cộng+ -Trái sang phải
Quan hệ< <= > >=Trái sang phải
Tính bằng== !=Trái sang phải
Logic AND&&Trái sang phải
Logic OR||Trái sang phải
Điều kiện?:Phải sang trái
Gán= += -= *= /= %=Phải sang trái

Bình luận