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ử Số Học trong PHP

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;
?>

Toán Tử Gán Giá Trị

Ở 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ử Logic trong PHP

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ử So Sánh

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."!";
?>

Nối Chuỗi trong PHP

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;
?>

Nối Chuỗi và Gán trong PHP