×

php简写表达式,&& or || 缩写条件语句

chen chen 发表于2021-07-30 11:15:56 浏览804 评论0

抢沙发发表评论

php用&&和||缩写条件语句

看下面的这种写法:


<?php!$var && $var = ‘你好!’;$error or die(‘Error!’);?>

 

&& 为 同时真 运算符.
A && B, 只有当A 和 B 都为真的时候,这句才是真
PHP会先判断A是否为真, 若A为真的话 就会继续判断B.
所以,当A为真, B是一个语句的时候,  B就会运行.
同理,当A为假的时候, 这句一定是假, 就没有必要往后判断了, 此时, B就不会运行.

|| or 则不同
A or B, 只要A 或者B 中有一个是真, 这句就是真
PHP先判断A是否为真, 若A为真的话,  此句一定是真, 没有必要再去判断B
所以当A为假的时候, PHP会继续判断B是不是真, 才能得到这句的结果
此是, B如果是一个语句就会运行.

还记得入门时候那数据连接那句吗? 现在应该很好懂为什么加个OR了吧?

[php]mysql_connect($host,$user,$pwd) or die(‘Mysql Error!’);
[/php]

 


如果连接失败,前面就是假, 后面的DIE就会运行咯!

再看下面的例子:


[php]$var = ”;!$var && echo “空的!”;!$var && print “空的!”;
[/php]

 

哪个可以成功执行呢?

知道为什么吗?

这里附上echo和print的区别吧:

echo和print的区别

PHP中echo和print的功能基本相同,但是两者之间也有细微差别。在PHP代码中可以把print作为一个普通函数来使用,例如执行下面的代码后变量$res的值将为1。

这意味着print可用在一些复杂的表达式中,而echo则不行。同样,在代码中echo语句的运行速度要略微快于print语句,因为echo语句不要求返回任何数值。


群贤毕至

访客