PHP多条件逻辑判断,使用PHP的或运算进行逻辑判断

假设我们有两个变量,$a和$b,当$a为真$b为假时输出$a;当$b为真$a为假时输出$b。我们会如何写代码呢?第一反应是if结构:

$a='';

$b=1;

if($a)

echo $a;

else if($b)

echo $b;

?>

那么,我们用或运算如何实现呢?那就简单多了:

$a='';

$b=1;

echo $a|$b;

?>

为什么可以这样,那么首先要介绍一些或运算。或运算是位运算的一种,运算符为|,如:

$a | $b

将把 $a 或者 $b 中为 1 的位设为 1。具体是以二进制的形式运算,我们以4位二进制举例,

假设$a=”;$b=1;

那么$a的4位二进制代码为:0000,php中空、null、false等对应的二进制代码都是0,可以用ord函数检验:

echo ord('');

注意空格的二进制码不是0,所以

echo ord(' ');

得到的结果不是0而是32。

$b的4位二进制代码为0001。下面进行或运算:

$a:0000

$b:0001

把 $a 或者 $b 中为 1 的位设为 1,得到的结果是0001。大家发现了,$a或者$b只要有一个的二进制码是0,那么或运算后得到的结果就是那个不为0的数,所以

echo $a|$b;

可以达到我们的判断目的。

注意:当两个变量都为空时,不会有任何输出;否则当只有一个变量为空,另一个变量为null,false,0中的任意一个时,或运算的结果都将是0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值