逻辑运算符第 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 运算符,以及如何组合多个逻辑运算符。
挑战
简单从输入中读取 4 个值:一个整数 age、一个字符串 hasTicket(值为 "true" 或 "false")、一个字符串 isMember(值为 "true" 或 "false"),以及一个字符串 hasInvitation(值为 "true" 或 "false")。
将字符串值与 "true" 比较,把它们转换为布尔值。
判断以下两个条件,并使用 var_dump() 输出各自的结果,每个结果单独占一行:
- 检查此人是否可以进入活动:年龄必须至少为 18 岁,并且持有门票
- 检查此人是否可以免费入场:此人必须是会员,或者持有邀请函
示例:
如果输入值为 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() 输出结果
?>这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: PHP 在线编译器