1
当我评价the expressions below,结果是完全不同的取决于评价顺序和是否我赋值或不:布尔表达式如何取决于评估顺序和赋值?
$a = true;
$b = false;
var_dump($a and $b); // false
$c = $a and $b;
var_dump($c); // true
$d = $b and $a;
var_dump($d); // false
我完全难倒。为什么会发生?
我刚才发现我自己。这似乎很奇怪,但。它在许多其他语言中是否像这样?我不记得它在其他地方。 – Jakob 2012-01-13 23:49:50
我不记得在其他语言中看到它。它可以用作''c = $ a和$ b'中的短路,$ b仅在$ c = $ a为真时才计算。我个人试图避免这样的东西,但它很常见'$ res = mysql_query(...)或die(mysql_error)' – a1ex07 2012-01-13 23:57:41