Php 什么是;或;你的意思是什么?
可能重复:Php 什么是;或;你的意思是什么?,php,syntax,Php,Syntax,可能重复: 我看到一些PHP代码以我不熟悉的方式使用或。例如: fopen($site,"r") or die("Unable to connect to $site"); 这是否等于此| 为什么要使用此块而不是try catch块?什么会导致程序运行或die()?是,它等于|| 在这种情况下,它会显式停止页面的执行并打印错误消息。大部分情况下是这样,但 这两种情况不同的原因是什么 “and”和“or”运算符的变体 就是它们的运作方式不同 先例 请参见或等于|,但|比或具有更高的密度 参考:
我看到一些PHP代码以我不熟悉的方式使用
或。例如:
fopen($site,"r") or die("Unable to connect to $site");
这是否等于此|
为什么要使用此块而不是try catch
块?什么会导致程序运行或die()
?是,它等于||
在这种情况下,它会显式停止页面的执行并打印错误消息。大部分情况下是这样,但
这两种情况不同的原因是什么
“and”和“or”运算符的变体
就是它们的运作方式不同
先例
请参见或等于|
,但|
比或
具有更高的密度
参考:
或在第一个命令失败时发生死亡
这类似于试捕,但这是更直接的方法
请注意,这是一个经典测试:
fopen($site,"r") or die("Unable to connect to $site");
只有当fopen($site,“r”)返回false时,才会运行测试的后半部分:“die('error')”
如果(a | | b)相同;仅当a返回false时才运行b
PHP中的Die与exit()相同;
完全停止当前脚本的执行,并打印出错误消息。或
具有其他优先级。具体的语句是使用布尔运算符的小技巧。与常见的if
-测试表达式类似,如果第一部分的计算结果为false
,则仅执行第二部分。这意味着,如果fopen()
没有失败,die()
但是,try catch
仅适用于异常,但fopen()
不会抛出任何异常
今天,像这样的东西是“不太好”的风格。使用异常而不是硬终止
if (!($res = fopen($site, 'r'))) throw new Exception ("Reading of $site failed");
这是不平等的。。。它有一个不同的优先顺序…用枪指着你的头:打开文件,否则就死!(相关)你知道,我不认为这是重复的。这实际上是一个关于“表达式或死亡”是什么意思的问题。它与try-catch
不同。与中的try-catch类似,它尝试第一个语句,如果为false,则执行第二个语句。如果为true,则不执行第二条语句或“catch”。我在评论海报上的问题“为什么你要用这个而不是试抓块?”当try/catch为on error时,这是布尔值。