Toán tử so sánh
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 23 trên 71.
Toán tử so sánh (comparison operators) cho phép bạn so sánh hai giá trị và nhận kết quả logic: true hoặc false. Những toán tử này rất cần thiết để đưa ra quyết định trong đoạn code.
PHP cung cấp một số toán tử so sánh để kiểm tra mối quan hệ giữa các giá trị:
| Toán tử | Ý nghĩa | Ví dụ | Kết quả |
< | Nhỏ hơn | 5 < 10 | true |
> | Lớn hơn | 5 > 10 | false |
<= | Nhỏ hơn hoặc bằng | 5 <= 5 | true |
>= | Lớn hơn hoặc bằng | 10 >= 5 | true |
<?php
$age = 18;
$isAdult = $age >= 18; // true
$isMinor = $age < 18; // false
$score = 75;
$passed = $score >= 60; // true
?>Để xem kết quả của phép so sánh, bạn có thể dùng var_dump(), hàm này hiển thị cả kiểu dữ liệu lẫn giá trị. Lưu ý rằng var_dump() tự động xuống dòng sau mỗi lần gọi, nên bạn không cần tự thêm dòng mới:
<?php
var_dump(10 > 5); // Đầu ra: bool(true)
var_dump(3 >= 7); // Đầu ra: bool(false)
?>Mỗi lần gọi var_dump() sẽ tự động in kết quả trên một dòng riêng, vì vậy gọi hàm này nhiều lần sẽ tạo ra đầu ra được phân tách rõ ràng mà không cần thêm code.
Các toán tử này hoạt động với cả số và chuỗi. Trong bài học tiếp theo, bạn sẽ tìm hiểu về các toán tử so sánh bằng để kiểm tra xem các giá trị có bằng nhau hoặc giống hệt nhau hay không.
Thử thách
DễĐọc hai số từ đầu vào: một score và một passingMark.
Dùng các toán tử so sánh để đánh giá những điều kiện sau và in kết quả của từng điều kiện bằng var_dump(), mỗi kết quả trên một dòng mới:
- Kiểm tra xem
scorecó lớn hơnpassingMarkkhông - Kiểm tra xem
scorecó nhỏ hơnpassingMarkkhông - Kiểm tra xem
scorecó lớn hơn hoặc bằngpassingMarkkhông - Kiểm tra xem
scorecó nhỏ hơn hoặc bằngpassingMarkkhông
Ví dụ:
Nếu đầu vào là 75 và 60, đầu ra sẽ là:
bool(true)
bool(false)
bool(true)
bool(false)Giải thích:
- 75 > 60 là đúng
- 75 < 60 là sai
- 75 >= 60 là đúng
- 75 <= 60 là sai
Tự làm thử
<?php
// Đọc đầu vào
$score = intval(fgets(STDIN));
$passingMark = intval(fgets(STDIN));
// TODO: Viết code bên dưới
// Dùng toán tử (operator) so sánh và var_dump() để kiểm tra:
// 1. Liệu score có lớn hơn passingMark không
// 2. Liệu score có nhỏ hơn passingMark không
// 3. Liệu score có lớn hơn hoặc bằng passingMark không
// 4. Liệu score có nhỏ hơn hoặc bằng passingMark không
?>Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online