1

这是一个奇怪的问题。我在 WordPress 中的 PHP 主题文件中工作。

$a = false;
$b = true;

$c = $a OR $b;

$c 是false

$c = $a || $b;

$c 正确地是true.

我可以创建一个函数

function checkor($a, $b)
{
  return $a OR $b;
}

这将正确返回true上述值。

知道为什么 phpOR操作数在 WordPress 主题模板文件中似乎不起作用吗?(我在 Mac 上运行 MAMP Pro,PHP 版本 5.2.13。)

4

2 回答 2

3

查看 PHP 手册http://www.php.net/manual/en/language.operators.logical.php

// "||" has a greater precedence than "or"

// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;

// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)
$f = false or true;
于 2012-09-03T20:01:36.410 回答
2

这与 Wordpress 无关,实际上是 PHP 的工作方式
这称为运算符优先级

引用PHP 文档

// "||" has a greater precedence than "or"

// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;

// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)
$f = false or true;
于 2012-09-03T20:01:09.410 回答