Toán tử logic phần 1
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 25 trên 71.
Toán tử logic giúp bạn kết hợp nhiều biểu thức boolean thành một biểu thức. Điều này rất cần thiết khi bạn cần kiểm tra nhiều điều kiện cùng lúc.
Toán tử AND (&&) chỉ trả về true khi cả hai điều kiện đều đúng:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
$age = 16;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(false): điều kiện age không thỏa mãn
?>Toán tử OR (||) trả về true khi ít nhất một điều kiện là đúng:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true): ngày cuối tuần là true
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false): cả hai đều là false
?>Hãy hiểu && là “cả hai đều phải đúng” và || là “ít nhất một điều phải đúng”. Trong bài học tiếp theo, bạn sẽ tìm hiểu về toán tử NOT và cách kết hợp nhiều toán tử logic.
Thử thách
DễĐọc bốn giá trị từ đầu vào: một số nguyên age, một chuỗi hasTicket (có giá trị "true" hoặc "false"), một chuỗi isMember (có giá trị "true" hoặc "false") và một chuỗi hasInvitation (có giá trị "true" hoặc "false").
Chuyển các giá trị chuỗi thành giá trị Boolean bằng cách so sánh chúng với "true".
Đánh giá hai điều kiện sau và in kết quả của mỗi đ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 người đó có thể vào sự kiện không: họ phải từ 18 tuổi trở lên VÀ có vé
- Kiểm tra xem người đó có được vào cửa miễn phí không: họ phải là thành viên HOẶC có thư mời
Ví dụ:
Nếu đầu vào là 25, true, false và true, đầu ra sẽ là:
bool(true)
bool(true)Giải thích:
- 25 >= 18 VÀ hasTicket là true → true
- isMember là false HOẶC hasInvitation là true → true
Tự làm thử
<?php
// Đọc các giá trị đầu vào
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));
// TODO: Chuyển các giá trị chuỗi thành giá trị boolean bằng cách so sánh với "true"
// TODO: Kiểm tra người đó có thể vào sự kiện không (ít nhất 18 tuổi AND có vé)
// TODO: Kiểm tra người đó có được vào miễn phí không (là thành viên OR có giấy mời)
// In kết quả bằng var_dump()
?>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