是不是经常看到这样的写法 ?
!$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 "空的!";
哪个可以成功执行呢? 想想看为什么?