PHP “or” 语法

我已经看到了很多:但我似乎找不到任何关于这个“或”语法的真正文档。它的作用已经很明显了,但是我可以在任何地方使用它吗?它必须紧随其后吗?当你可以使用类似的东西时,有什么警告要使用吗?$fp = fopen($filepath, "w") or die();die()or

if (file_exists($filepath))
   $fp = fopen($filepath,"r");
else
   myErrMessage();

我知道这似乎是一个愚蠢的问题,但我找不到任何硬性规定。谢谢。


答案 1

它是一个逻辑运算符,可以在任何逻辑表达式中使用。

http://php.net/manual/en/language.operators.logical.php


答案 2

让我们这样说:

$result = first() || second();

将评估为:

if (first()) {
    $result = true;
} elseif (second()) {
    $result = true;
} else {
    $result = false;
} 

而:

$result = first() or second();

将评估为:

if ($result = first()) {
    // nothing
} else {
    second();
}

换句话说,您可以考虑:

$result = first() || second();

$result = (first() || second());

和:

$result = first() or second();

成为:

($result = first()) || second();

这只是优先顺序问题。


推荐