Menu
CoddyTech

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.

challenge icon

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:

  1. 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é
  2. 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()

?>
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch PHP online