<?php
// 逻辑运算符:
// 运算结果有两个true或false
// 运算符使用英文单词时,前后必须有空格或用()把表达式括起来
// 用英文单词:运算优先级低于赋值
// 1,&&和and(与)
// 全部为真才为真
// $a = 2==2 && 3>1; // true
// $a = 2==2 && 3<1; // false
// $a = 2==2 and 3>1; // true
// $a = 2==2 and 3<1; // true,单词and优先级低于=,就是2==2赋值给了$a
// $a = (2==2 and 3<1); // false
// var_dump($a);
// 2,||和or(或)
// $a = 2>2 || 3>6 || 4<7; // true
// $a = 2>2 || 3>6 || 4>7; // false
// $a = 2==2 || 3>6 || 4>7; // true
// $a = 2>2 or 3>6 or 4<7; // false(原因同上)
// $a = (2>2 or 3>6 or 4<7); // true,提升了优先级
// var_dump($a);
// 3,!(非),取反
// $a = 5>3; // true
// $a = !5>3; // false
// var_dump($a);
// 4,xor异或:有一个为真并且只有一个为真才为真
// $a = (5>3 xor 4>6); // true
// $a = (5>3 xor 4<6); // false
// $a = (5<3 xor 4>6); // false
// $a = (5>3 xor 4>6 xor 3==2); // true
// $a = (5>3 xor 4<6 xor 3==3); // true
// $a = (5>3 xor 4<6 xor 3==3 xor 7>6); // false
// 从左到右依次比较两个的结果再比较
$a = (5>3 xor 4<6 xor 3==3 xor 7>6);
$a = (true xor true xor true xor true); // 第一步
$a = (false xor true xor true); // 第二步
$a = (true xor true); // 第三步,可以得出false
var_dump($a);
?>

最后修改:2022 年 04 月 16 日
© 禁止转载