“或”在PHP中是什么意思?
可能重复:
PHP和/或关键字
我看到几个PHP代码使用or以我不熟悉的方式。 例如:
fopen($site,"r") or die("Unable to connect to $site");
这是否等于|| ?
为什么你会用这个来代替try catch块? 什么会导致程序运行or die() ?
这是大部分,但...
“和”和“或”运算符的两种不同变体的原因是它们以不同的优先级运行。
见http://php.net/manual/en/language.operators.logical.php
or等于|| || 除外 比or更高。
参考:
http://www.php.net/manual/en/language.operators.precedence.php
or具有其他优先权。 具体的陈述是布尔运算符的小窍门。 就像在一个普通的if -test-expression中一样,只有第一部分被评估为false ,第二部分才会被执行。 这意味着,如果fopen()不失败, die()根本不会被触及。
然而, try-catch只能用于异常,但fopen()不会抛出任何异常。
今天这样的事情是“不太好”的风格。 使用例外而不是硬堕胎
if (!($res = fopen($site, 'r'))) throw new Exception ("Reading of $site failed");
链接地址: http://www.djcxy.com/p/57631.html
