Menu
CoddyTech

逻辑运算符第 1 部分

本课属于 Coddy PHP 学习旅程的“基础知识”单元。第 25 课,共 71 课。

逻辑运算符可以将多个布尔表达式组合成一个表达式。当你需要同时检查多个条件时,这一点至关重要。

AND 运算符(&&)只有在两个条件都为 true 时才会返回 true:

<?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):age 条件不满足
?>

当至少一个条件为真时,OR 运算符(||)会返回 true:

<?php
$isWeekend = true;
$isHoliday = false;

$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true):周末为 true

$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false):两者都为 false
?>

把 && 理解为“两个条件都必须为真”,把 || 理解为“至少一个条件为真”。在下一课中,你将学习 NOT 运算符,以及如何组合多个逻辑运算符。

challenge icon

挑战

简单

从输入中读取 4 个值:一个整数 age、一个字符串 hasTicket(值为 "true" 或 "false")、一个字符串 isMember(值为 "true" 或 "false"),以及一个字符串 hasInvitation(值为 "true" 或 "false")。

将字符串值与 "true" 比较,把它们转换为布尔值。

判断以下两个条件,并使用 var_dump() 输出各自的结果,每个结果单独占一行:

  1. 检查此人是否可以进入活动:年龄必须至少为 18 岁,并且持有门票
  2. 检查此人是否可以免费入场:此人必须是会员,或者持有邀请函

示例:

如果输入值为 25、true、false 和 true,输出应为:

bool(true)
bool(true)

说明:

  • 25 >= 18 并且 hasTicket 为 true → true
  • isMember 为 false 或者 hasInvitation 为 true → true

亲手试试

<?php
// 读取输入值
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));

// TODO:通过与 "true" 比较,将字符串值转换为布尔值


// TODO:检查此人是否可以进入活动(年满 18 岁且有票)


// TODO:检查此人是否可以免费入场(是会员或有邀请函)


// 使用 var_dump() 输出结果

?>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: PHP 在线编译器