What does "or" in php mean?
Possible Duplicate:
PHP - and / or keywords
I saw several bits of PHP code using or in a way I was unfamiliar with. For example:
fopen($site,"r") or die("Unable to connect to $site");
Is this equal to this || ?
Why would you use this instead of a try catch block? What will cause the program run the or die() ?
It is for the most part, but...
The reason for the two different variations of "and" and "or" operators is that they operate at different precedences.
See http://php.net/manual/en/language.operators.logical.php
or is equal to || except that || has a higher presedense than or .
Reference:
http://www.php.net/manual/en/language.operators.precedence.php
or has an other precedence. The concrete statement is little trick with boolean operators. Like in a common if -test-expression the second part is only executed, if the first is evaluated to false . This means, if fopen() does not fail, die() is not touched at all.
However, try-catch only works with Exceptions, but fopen() doesnt throw any.
Today something like this is "not so good" style. Use exceptions instead of hard abortion
if (!($res = fopen($site, 'r'))) throw new Exception ("Reading of $site failed");
链接地址: http://www.djcxy.com/p/57632.html
上一篇: PHP if语句:使用“OR”或
下一篇: “或”在PHP中是什么意思?
