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 了吧?

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

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

再看下面的例子:

$var = ”;

!$var && echo “空的!”;

!$var && print “空的!”;

哪个可以成功执行呢?

知道为什么吗?

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

echo 和 print 的区别

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

1 <li>$ret = print \”Hello World\”; </li>

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