一、 开场白:逻辑运算符?不就是“并且、或者、不是”嘛!
哈喽各位码农小伙伴们!今天咱们来聊一个看似简单却能让你代码“精神分裂”的东西——PHP逻辑运算符。我敢打赌,至少有80%的PHP初学者曾在这里翻过车,要么是权限验证漏成筛子,要么是条件判断疯起来连自己都打。
想象一下这个场景:你写了段注册验证代码,心里美滋滋:“用户名不能为空 并且 密码要超过6位 或者 邮箱格式正确就行”——听起来没毛病对吧?结果上线第一天,用户用空用户名+乱写邮箱居然注册成功了!惊不惊喜?刺不刺激?
别笑,这就是逻辑运算符挖的坑。今天咱们就把它扒个底朝天,保证你看完后直呼:“原来我这几年写的都是薛定谔的代码!”
二、 四大金刚登场:认识PHP的逻辑天团
PHP的逻辑运算符主要有四位大佬,咱们先混个脸熟:
1. && 和 and —— “严防死守二人组”
这俩都是“逻辑与”,意思是要所有条件都为真,整体才为真。就像你妈催婚时的要求:“要高、要帅、要有房、要贴心”——少一条都不行!
// 经典相亲条件模拟
$isTall = true;
$isHandsome = false;
$hasHouse = true;
$isConsiderate = true;
if ($isTall && $isHandsome && $hasHouse && $isConsiderate) {
echo "妈,这样的人不存在!";
} else {
echo "看吧,我还是单身比较科学";
}
// 输出:看吧,我还是单身比较科学
&&和and的区别?优先级不同!&&的优先级比=高,and比=低。看个例子你就懵了:
$result = false && true; // 先算 false && true 得 false,再赋值
echo $result ? '真' : '假'; // 输出:假
$result = false and true; // 先赋值 $result = false,再 and true
echo $result ? '真' : '假'; // 输出:假(但这里容易让人困惑)
实战建议:除非你真心想玩火,否则日常用&&就行,and那优先级太容易出幺蛾子。
2. || 和 or —— “差不多得了组合”
这俩是“逻辑或”,意思是只要有一个为真,整体就为真。就像你找借口请假:“我头疼 或者 肚子疼 或者 猫主子心情不好”——随便一个理由成立就能躺平。
// 请假理由生成器
$headache = false;
$stomachache = true;
$catUpset = false;
if ($headache || $stomachache || $catUpset) {
echo "老板,我今天真的来不了!";
} else {
echo "好吧,我马上起床挤地铁...";
}
// 输出:老板,我今天真的来不了!
3. ! —— “专业唱反调单飞艺人”
这是“逻辑非”,专门把真的变假,假的变真。就像你女朋友说“我没生气”时,聪明的程序员应该能翻译出!(!angry)的深层含义。
$isRaining = false;
if (!$isRaining) {
echo "走,打球去!";
} else {
echo "宅家打游戏吧";
}
// 输出:走,打球去!
4. xor —— “单选题强迫症患者”
异或运算符,比较小众但很有意思:<

最低0.47元/天 解锁文章
1871

被折叠的 条评论
为什么被折叠?



