Tổng quan các loại toán tử trong PHP

PHP Tutorial | by Học PHP

Những hằng số này có giá trị thay đổi "một cách thần kỳ" tùy thuộc vào nơi chúng được sử dụng trong mã nguồn của bạn. Chúng là một công cụ cực kỳ hữu ích để lấy thông tin về tệp bạn đang làm việc, dòng code hiện tại, hay thậm chí là tên của hàm hoặc lớp đang được thực thi. Bạn sẽ thấy tên của chúng luôn bắt đầu và kết thúc bằng hai dấu gạch dưới (__), ví dụ như __FILE__ hay __LINE__.

Vậy chính xác thì các Magic Constants này là gì và chúng có thể giúp bạn làm được những gì? Bài viết này sẽ đưa bạn tìm kiếm thế giới của những hằng số đặc biệt này, từ cách chúng hoạt động đến những ứng dụng thực tế trong việc gỡ lỗi, ghi nhật ký, hay xây dựng đường dẫn động an toàn trong các dự án PHP của bạn.

Toán tử là gì ?

Khi bắt đầu học lập trình, bạn sẽ nhanh chóng nhận ra rằng máy tính không thể "hiểu" ngôn ngữ tự nhiên của chúng ta. Thay vào đó, chúng cần những chỉ thị rõ ràng để thực hiện các tác vụ. Đó chính là lúc toán tử phát huy vai trò của mình.

Toán tử là gì?

Trong PHP (cũng như trong hầu hết các ngôn ngữ lập trình khác), toán tử là các ký hiệu đặc biệt được dùng để thực hiện những thao tác nhất định trên dữ liệu. Những thao tác này có thể là:

Phép tính toán học: Cộng, trừ, nhân, chia...

So sánh: Kiểm tra xem hai giá trị có bằng nhau không, cái nào lớn hơn, cái nào nhỏ hơn...

Gán giá trị: Đưa một giá trị vào một biến.

Kiểm tra điều kiện: Kết hợp nhiều điều kiện để đưa ra quyết định.

Ví dụ đơn giản:

<?php
$a = 5;      // Dấu `=` là toán tử gán
$b = 3;      // Dấu `=` là toán tử gán

$sum = $a + $b; // Dấu `+` là toán tử cộng
echo "Tổng: " . $sum . "<br>"; // Output: Tổng: 8

$is_equal = ($a == $b); // Dấu `==` là toán tử so sánh (bằng giá trị)
var_dump($is_equal); // Output: bool(false)
?>

Trong ví dụ trên, $a = 5 sử dụng dấu = để gán giá trị 5 cho biến $a. Hay $a + $b sử dụng dấu + để thực hiện phép cộng.

Toán hạng (Operands)

Mỗi toán tử sẽ tác động lên một hoặc nhiều toán hạng. Toán hạng chính là các giá trị (số, chuỗi, boolean, v.v.) hoặc các biến mà toán tử đó thực hiện phép toán lên.

  • Ví dụ:

<?php
$x = 10;
$y = 2;

$result_multiply = $x * $y; // Trong `$x * $y`, `$x` và `$y` là các toán hạng.
                           // Toán tử là `*`.
echo "Kết quả nhân: " . $result_multiply . "<br>"; // Output: Kết quả nhân: 20

$is_adult = ($x > 18); // Trong `$x > 18`, `$x` và `18` là các toán hạng.
                       // Toán tử là `>`.
var_dump($is_adult); // Output: bool(false)
?>

Tùy thuộc vào số lượng toán hạng mà toán tử cần, chúng ta có toán tử một ngôi (unary - tác động lên 1 toán hạng, ví dụ !$x), toán tử hai ngôi (binary - tác động lên 2 toán hạng, ví dụ $x + $y), hay toán tử ba ngôi (ternary - tác động lên 3 toán hạng, ví dụ (cond) ? true : false).

Tầm quan trọng của toán tử

Toán tử không chỉ là những ký hiệu đơn lẻ; chúng là nền tảng để xây dựng mọi logic và chức năng trong một chương trình PHP. Không có toán tử, bạn sẽ không thể:

  • Thực hiện bất kỳ phép tính nào: Từ việc tính tổng giỏ hàng, điểm trung bình, đến các công thức phức tạp hơn.

  • So sánh dữ liệu: Bạn không thể kiểm tra mật khẩu có đúng không, tuổi có đủ điều kiện hay không, hay sản phẩm có còn trong kho không.

  • Thay đổi trạng thái của dữ liệu: Không thể gán giá trị mới cho biến, cập nhật số lượng hay thay đổi trạng thái người dùng.

  • Điều khiển luồng chương trình: Các câu lệnh điều kiện (if/else) và vòng lặp (for/while) đều phụ thuộc vào toán tử so sánh và logic để quyết định đường đi của chương trình.

  • Ví dụ về vai trò cốt lõi:

<?php
$score = 75;
$has_passed_exam = false;

// Toán tử so sánh và gán để xác định kết quả
if ($score >= 50) { // Toán tử `>=` (so sánh)
    $has_passed_exam = true; // Toán tử `=` (gán)
}

// Toán tử logic để đưa ra thông báo cuối cùng
if ($has_passed_exam == true) { // Toán tử `==` (so sánh)
    echo "Chúc mừng! Bạn đã ĐẬU kỳ thi.<br>";
} else {
    echo "Rất tiếc, bạn đã TRƯỢT kỳ thi.<br>";
}

$item_price = 15.50;
$quantity = 3;
$total_cost = $item_price * $quantity; // Toán tử `*` (số học)
echo "Tổng chi phí mua hàng: $" . $total_cost . "<br>"; // Output: Tổng chi phí mua hàng: $46.5
?>

Như vậy, toán tử chính là "ngôn ngữ hành động" của PHP, cho phép chúng ta thao tác và xử lý dữ liệu để tạo ra các ứng dụng hoạt động theo ý muốn. Hiểu rõ từng loại toán tử và cách chúng hoạt động là bước đầu tiên và quan trọng nhất để bạn trở thành một lập trình viên PHP giỏi.

Các loại toán tử phổ biến trong PHP

PHP cung cấp một bộ sưu tập đa dạng các toán tử, mỗi loại phục vụ một mục đích riêng biệt trong việc thao tác và xử lý dữ liệu. Hãy cùng khám phá những loại toán tử phổ biến nhất mà bạn sẽ gặp trong quá trình lập trình.

Toán tử số học (Arithmetic Operators)

Các toán tử số học dùng để thực hiện các phép tính toán học cơ bản.

Mục đích: Thực hiện các phép tính cộng, trừ, nhân, chia, lấy dư và lũy thừa.

Các toán tử:

  • + (Cộng)
  • - (Trừ)
  • * (Nhân)
  • / (Chia)
  • % (Chia lấy dư - Modulo): Trả về phần dư của phép chia. Ví dụ: 10 % 3 sẽ ra 1.
  • ** (Lũy thừa - Exponential): xy, từ PHP 5.6 trở lên. Ví dụ: 2 ** 3 sẽ ra .

Ví dụ cơ bản:

<?php
$a = 10;
$b = 3;

echo "Cộng: " . ($a + $b) . "<br>";    // Output: Cộng: 13
echo "Trừ: " . ($a - $b) . "<br>";     // Output: Trừ: 7
echo "Nhân: " . ($a * $b) . "<br>";    // Output: Nhân: 30
echo "Chia: " . ($a / $b) . "<br>";    // Output: Chia: 3.3333...
echo "Chia lấy dư: " . ($a % $b) . "<br>"; // Output: Chia lấy dư: 1
echo "Lũy thừa (2 mũ 4): " . (2 ** 4) . "<br>"; // Output: Lũy thừa (2 mũ 4): 16
?>

Toán tử Gán (Assignment Operators)

Toán tử gán được dùng để đặt (gán) một giá trị vào một biến.

Mục đích: Gán giá trị cho một biến.

Các toán tử:

= (Gán đơn giản): Gán giá trị bên phải cho biến bên trái.

+=, -=, *=, /=, %=, **=: Các toán tử gán kết hợp. Chúng thực hiện một phép toán (ví dụ: cộng) rồi gán kết quả trở lại cho biến.

  • $x += $y; tương đương với $x = $x + $y;
  • $x -= $y; tương đương với $x = $x - $y;
  • Tương tự cho các toán tử khác.

Ví dụ cơ bản:

<?php
$x = 10; // Gán giá trị 10 cho $x
echo "Giá trị ban đầu của x: " . $x . "<br>"; // Output: 10

$x += 5; // Tương đương $x = $x + 5; => $x = 10 + 5 = 15
echo "Giá trị của x sau khi x += 5: " . $x . "<br>"; // Output: 15

$y = 20;
$y /= 4; // Tương đương $y = $y / 4; => $y = 20 / 4 = 5
echo "Giá trị của y sau khi y /= 4: " . $y . "<br>"; // Output: 5

$z = 2;
$z **= 3; // Tương đương $z = $z ** 3; => $z = 2^3 = 8
echo "Giá trị của z sau khi z **= 3: " . $z . "<br>"; // Output: 8
?>

Toán tử So sánh (Comparison Operators)

Các toán tử so sánh dùng để so sánh hai giá trị với nhau và luôn trả về một giá trị boolean (true hoặc false).

Mục đích: So sánh hai giá trị.

Các toán tử:

  • == (Bằng giá trị): Kiểm tra xem hai giá trị có bằng nhau không. PHP sẽ tự động chuyển đổi kiểu dữ liệu nếu cần.
  • === (Bằng giá trị và kiểu dữ liệu - "So sánh tuyệt đối"): Kiểm tra xem hai giá trị có bằng nhau VÀ có cùng kiểu dữ liệu không. Đây là cách so sánh nghiêm ngặt hơn.
  • != hoặc <> (Không bằng giá trị): Kiểm tra xem hai giá trị có khác nhau không (chỉ về giá trị).
  • !== (Không bằng giá trị hoặc kiểu dữ liệu): Kiểm tra xem hai giá trị có khác nhau HOẶC khác kiểu dữ liệu không.
  • < (Nhỏ hơn)
  • > (Lớn hơn)
  • <= (Nhỏ hơn hoặc bằng)
  • >= (Lớn hơn hoặc bằng)

<=> (Toán tử tàu vũ trụ - Spaceship operator): Từ PHP 7. Trả về:

  • -1 nếu vế trái nhỏ hơn vế phải.
  • 0 nếu vế trái bằng vế phải.
  • 1 nếu vế trái lớn hơn vế phải. Rất hữu ích cho việc sắp xếp.

Ví dụ cơ bản:

<?php
$num = 10;
$str_num = "10";
$age = 25;

echo "10 == '10': "; var_dump($num == $str_num);   // Output: bool(true) (PHP tự chuyển đổi kiểu)
echo "10 === '10': "; var_dump($num === $str_num); // Output: bool(false) (khác kiểu dữ liệu)
echo "10 != 5: "; var_dump($num != 5);           // Output: bool(true)
echo "10 !== '10': "; var_dump($num !== $str_num); // Output: bool(true)

echo "Age > 18: "; var_dump($age > 18);         // Output: bool(true)
echo "Age <= 25: "; var_dump($age <= 25);       // Output: bool(true)

// Ví dụ toán tử tàu vũ trụ <=>
echo "5 <=> 10: "; var_dump(5 <=> 10); // Output: int(-1) (5 nhỏ hơn 10)
echo "10 <=> 10: "; var_dump(10 <=> 10); // Output: int(0) (10 bằng 10)
echo "15 <=> 10: "; var_dump(15 <=> 10); // Output: int(1) (15 lớn hơn 10)
?>

Toán tử Tăng/Giảm (Increment/Decrement Operators)

Các toán tử này dùng để tăng hoặc giảm giá trị của một biến lên 1 đơn vị.

Mục đích: Tăng hoặc giảm giá trị của một biến lên 1.

Các toán tử:

  • ++$x (Tiền tố tăng): Tăng $x lên 1, sau đó trả về giá trị mới của $x.
  • $x++ (Hậu tố tăng): Trả về giá trị hiện tại của $x, sau đó tăng $x lên 1.
  • --$x (Tiền tố giảm): Giảm $x đi 1, sau đó trả về giá trị mới của $x.
  • $x-- (Hậu tố giảm): Trả về giá trị hiện tại của $x, sau đó giảm $x đi 1.

Ví dụ cơ bản (Giải thích sự khác biệt tiền tố/hậu tố):

<?php
$count = 5;
echo "Giá trị ban đầu của count: " . $count . "<br>"; // Output: 5

// Tiền tố tăng: ++$count
$result_prefix_inc = ++$count; // count trở thành 6, result_prefix_inc = 6
echo "Sau ++count: count = " . $count . ", result = " . $result_prefix_inc . "<br>"; // Output: count = 6, result = 6

// Đặt lại count
$count = 5;

// Hậu tố tăng: $count++
$result_postfix_inc = $count++; // result_postfix_inc = 5, sau đó count trở thành 6
echo "Sau count++: count = " . $count . ", result = " . $result_postfix_inc . "<br>"; // Output: count = 6, result = 5

// Tiền tố giảm: --$x và Hậu tố giảm: $x-- tương tự
$num = 10;
echo "Sau --num: " . (--$num) . ", num = " . $num . "<br>"; // Output: 9, num = 9

$num = 10;
echo "Sau num--: " . ($num--) . ", num = " . $num . "<br>"; // Output: 10, num = 9
?>

Toán tử Logic (Logical Operators)

Các toán tử logic dùng để kết hợp các điều kiện hoặc đảo ngược một điều kiện, và kết quả luôn là true hoặc false.

Mục đích: Kết hợp hoặc phủ định các biểu thức boolean (điều kiện).

Các toán tử:

  • && hoặc and (AND): Trả về true nếu cả hai điều kiện đều đúng.
  • || hoặc or (OR): Trả về true nếu một trong hai điều kiện (hoặc cả hai) đúng.
  • ! hoặc not (NOT): Đảo ngược giá trị boolean. Nếu điều kiện đúng, ! biến nó thành sai, và ngược lại.
  • xor (XOR - Exclusive OR): Trả về true nếu một trong hai điều kiện đúng, nhưng không phải cả hai.

Ví dụ cơ bản:

<?php
$age = 20;
$has_license = true;
$is_student = false;

// && (AND)
echo "Đủ tuổi lái xe VÀ có bằng lái: ";
var_dump($age >= 18 && $has_license); // Output: bool(true)

// || (OR)
echo "Là sinh viên HOẶC có bằng lái: ";
var_dump($is_student || $has_license); // Output: bool(true)

// ! (NOT)
echo "Không phải sinh viên: ";
var_dump(!$is_student);           // Output: bool(true)

// xor (XOR)
echo "Là sinh viên XOR có bằng lái: ";
var_dump($is_student xor $has_license); // Output: bool(true) (true vì chỉ has_license đúng)

$has_phone = true;
$has_laptop = true;
echo "Có điện thoại XOR có laptop: ";
var_dump($has_phone xor $has_laptop); // Output: bool(false) (vì cả hai đều đúng)
?>

Toán tử Chuỗi (String Operators)

PHP có các toán tử đặc biệt để làm việc với chuỗi, chủ yếu là để nối chuỗi.

Mục đích: Nối các chuỗi lại với nhau.

Các toán tử:

  • . (Nối chuỗi - Concatenation): Kết hợp hai hoặc nhiều chuỗi thành một.
  • .= (Nối chuỗi và gán): Nối chuỗi bên phải vào cuối chuỗi bên trái, rồi gán lại kết quả cho biến bên trái.

Ví dụ cơ bản:

<?php
$first_name = "Nguyen";
$last_name = "Van A";

// Nối chuỗi bằng .
$full_name = $first_name . " " . $last_name;
echo "Họ và tên: " . $full_name . "<br>"; // Output: Họ và tên: Nguyen Van A

// Nối chuỗi và gán bằng .=
$greeting = "Xin chào";
$greeting .= ", "; // $greeting bây giờ là "Xin chào, "
$greeting .= "mọi người!"; // $greeting bây giờ là "Xin chào, mọi người!"
echo $greeting . "<br>"; // Output: Xin chào, mọi người!
?>

Toán tử Điều kiện Ba Ngôi (Ternary Operator)

Toán tử điều kiện ba ngôi là một cách viết gọn của câu lệnh if-else đơn giản, giúp code ngắn gọn và dễ đọc hơn trong một số trường hợp.

Mục đích: Thực hiện một lựa chọn giữa hai giá trị dựa trên một điều kiện.

Cú pháp: (điều_kiện) ? giá_trị_nếu_đúng : giá_trị_nếu_sai;

  • Nếu điều_kiệntrue, biểu thức sẽ trả về giá_trị_nếu_đúng.
  • Nếu điều_kiệnfalse, biểu thức sẽ trả về giá_trị_nếu_sai.

Ví dụ cơ bản:

<?php
$score = 75;

// Nếu điểm >= 50 thì trạng thái là "Đậu", ngược lại là "Trượt"
$status = ($score >= 50) ? "Đậu" : "Trượt";
echo "Trạng thái của bạn: " . $status . "<br>"; // Output: Trạng thái của bạn: Đậu

$age = 16;
$message = ($age >= 18) ? "Bạn đủ tuổi bầu cử." : "Bạn chưa đủ tuổi bầu cử.";
echo $message . "<br>"; // Output: Bạn chưa đủ tuổi bầu cử.
?>

Toán tử Null Coalescing (Null Coalescing Operator - ??)

Toán tử này được giới thiệu từ PHP 7. Nó cung cấp một cách ngắn gọn để kiểm tra xem một biến có tồn tại và khác null hay không, nếu không thì gán một giá trị mặc định.

Mục đích: Gán một giá trị mặc định nếu biến không tồn tại (isset()false) hoặc có giá trị null.

Cú pháp: $variable ?? $default_value;

  • Nếu $variable tồn tại và không phải null, nó sẽ trả về giá trị của $variable.
  • Ngược lại, nó sẽ trả về $default_value.
  • Nó tương đương với isset($variable) ? $variable : $default_value; nhưng ngắn gọn hơn.

Ví dụ cơ bản:

<?php
// Giả sử có dữ liệu từ URL ($_GET)
// $username = $_GET['user']; // Nếu user không có trên URL, sẽ báo lỗi Notice

// Sử dụng ?? để gán giá trị mặc định
$username = $_GET['user'] ?? 'Guest'; // Nếu $_GET['user'] không tồn tại hoặc là null, username sẽ là 'Guest'
echo "Xin chào, " . $username . "!<br>"; // Nếu URL là index.php, output: Xin chào, Guest!
                                        // Nếu URL là index.php?user=Alice, output: Xin chào, Alice!

$email = null;
$user_email = $email ?? '[email protected]';
echo "Email người dùng: " . $user_email . "<br>"; // Output: Email người dùng: [email protected]

$country = "Vietnam";
$user_country = $country ?? 'Unknown';
echo "Quốc gia người dùng: " . $user_country . "<br>"; // Output: Quốc gia người dùng: Vietnam
?>

Các toán tử khác (Giới thiệu nhanh)

Ngoài các loại phổ biến trên, PHP còn có một số toán tử chuyên biệt hơn:

  • Toán tử Bitwise (&, |, ^, ~, <<, >>): Thao tác trên từng bit của số nguyên. Ít dùng trong web thông thường, nhưng quan trọng trong các tác vụ cấp thấp hoặc mã hóa.
  • Toán tử Mảng (+, ==, ===, !=, !==): Dùng để kết hợp hoặc so sánh các mảng.
  • Toán tử Thực thi (Backticks `): Thực thi một lệnh shell và trả về kết quả dưới dạng chuỗi. Không được khuyến khích sử dụng vì lý do bảo mật.
  • Toán tử instanceof: Kiểm tra xem một đối tượng có phải là một thể hiện của một lớp cụ thể hay không, hoặc có kế thừa từ một lớp/interface nào đó không.

Mặc dù các toán tử này ít gặp hơn trong các tác vụ PHP cơ bản, chúng rất quan trọng trong những lĩnh vực chuyên biệt.

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

Khi bạn viết một biểu thức phức tạp có nhiều loại toán tử khác nhau, PHP cần một quy tắc để biết toán tử nào sẽ được thực hiện trước. Đó chính là thứ tự ưu tiên của toán tử (Operator Precedence).

Thứ tự ưu tiên của toán tử là một tập hợp các quy tắc mà PHP (và hầu hết các ngôn ngữ lập trình khác) tuân theo để xác định thứ tự thực hiện các phép toán khi có nhiều toán tử khác nhau xuất hiện trong cùng một biểu thức. Giống như trong toán học, phép nhân và chia thường được thực hiện trước phép cộng và trừ.

Nếu các toán tử có cùng mức độ ưu tiên, PHP sẽ thực hiện chúng từ trái sang phải (được gọi là tính kết hợp - associativity), trừ một vài trường hợp đặc biệt.

Ví dụ

Hãy xem một ví dụ kinh điển để hiểu rõ hơn về thứ tự ưu tiên:

<?php
$result = 10 + 5 * 2;
echo "Kết quả là: " . $result . "<br>";
// Output: Kết quả là: 20
?>

Giải thích tại sao ra 20 chứ không phải 30:

  • Theo thứ tự ưu tiên của toán tử: Toán tử nhân (*) có độ ưu tiên cao hơn toán tử cộng (+).
  • PHP sẽ thực hiện phép nhân trước: 5 * 2 cho kết quả là 10.
  • Sau đó, PHP mới thực hiện phép cộng: 10 + 10 cho kết quả cuối cùng là 20.

Nếu không có quy tắc ưu tiên, một số người có thể nhầm tưởng rằng phép cộng sẽ được thực hiện trước (10 + 5 = 15), rồi mới nhân với 2 (15 * 2 = 30). Nhưng điều đó là không đúng trong lập trình.

Cách ghi nhớ và kiểm soát

Mặc dù có một bảng đầy đủ về thứ tự ưu tiên của tất cả các toán tử trong PHP (và nó khá phức tạp), bạn không cần phải ghi nhớ mọi chi tiết của nó. Có một nguyên tắc vàng giúp bạn luôn kiểm soát được thứ tự phép tính và làm cho code của mình dễ hiểu hơn:

Luôn sử dụng dấu ngoặc đơn () để nhóm các phép toán và kiểm soát thứ tự ưu tiên theo ý muốn.

Dấu ngoặc đơn có độ ưu tiên cao nhất, giống như trong toán học. Mọi thứ bên trong dấu ngoặc đơn sẽ được thực hiện trước tiên.

Ví dụ sử dụng dấu ngoặc đơn để kiểm soát thứ tự:

<?php
// Ví dụ 1: Muốn cộng trước rồi mới nhân
$result_controlled = (10 + 5) * 2;
echo "Kết quả có kiểm soát (cộng trước): " . $result_controlled . "<br>";
// Output: Kết quả có kiểm soát (cộng trước): 30
// Giải thích: (10 + 5) = 15, sau đó 15 * 2 = 30.

// Ví dụ 2: Ứng dụng tính giá trị sau thuế
$price = 100;
$tax_rate = 0.1; // 10% thuế
$total_price_wrong = $price + $price * $tax_rate; // Dễ đọc nhưng vẫn phụ thuộc ưu tiên
$total_price_correct = ($price * (1 + $tax_rate)); // Rõ ràng hơn, tổng giá bao gồm thuế

echo "Tổng giá sai (nếu hiểu sai ưu tiên): " . ($price + $price * $tax_rate) . "<br>"; // Vẫn đúng vì * ưu tiên hơn +
echo "Tổng giá đúng (rõ ràng hơn với ngoặc): " . ($price * (1 + $tax_rate)) . "<br>"; // Output: 110

// Ví dụ 3: Điều kiện phức tạp
$age = 25;
$has_license = true;
$has_car = false;

// Muốn kiểm tra (có bằng lái VÀ có xe) HOẶC (tuổi trên 21)
$can_drive = ($has_license && $has_car) || ($age > 21);
var_dump($can_drive); // Output: bool(true)
// Giải thích: (false && false) = false; false || (true) = true. Nếu không có ngoặc, có thể hiểu sai.
?>

Bằng cách sử dụng dấu ngoặc đơn một cách có chủ đích, bạn không chỉ đảm bảo rằng các phép toán được thực hiện theo đúng ý muốn mà còn làm cho code của bạn trở nên minh bạch và dễ đọc hơn rất nhiều cho bất kỳ ai đọc nó, kể cả chính bạn sau này.

Kết bài

Các toán tử là xương sống của mọi chương trình PHP, là những công cụ không thể thiếu giúp chúng ta thực hiện các phép tính, so sánh giá trị, gán dữ liệu, và điều khiển luồng logic. Từ những phép cộng trừ đơn giản đến các kiểm tra điều kiện phức tạp, toán tử cho phép chúng ta biến ý tưởng thành hành động trong mã nguồn.

Trong bài viết này, mình đã cùng nhau điểm qua:

  • Các loại toán tử đa dạng: Bao gồm toán tử số học, gán, so sánh, tăng/giảm, logic, chuỗi, điều kiện ba ngôi, và null coalescing. Mỗi loại phục vụ một mục đích riêng biệt nhưng đều thiết yếu cho việc xây dựng ứng dụng.
  • Thứ tự ưu tiên: Hiểu rõ cách PHP thực hiện các phép toán khi có nhiều toán tử là rất quan trọng để tránh những kết quả không mong muốn. Luôn nhớ rằng dấu ngoặc đơn () là "người bạn thân nhất" của bạn để đảm bảo phép tính được thực hiện đúng ý.

Việc nắm vững các loại toán tử và cách chúng hoạt động không chỉ giúp bạn viết code chính xác mà còn làm cho code của bạn trở nên rõ ràng, dễ hiểu và dễ bảo trì hơn rất nhiều.

Bài viết liên quan