它们做着相同的事情,但 &&
的优先级高于 AND
。
define( 'THIS', true ); $test_a = defined( 'THIS' ) AND THIS ? 'A: success' : 'A: no success'; $test_b = defined( 'THIS' ) AND THIS ? 'A: success' : 'A: no success'; var_dump( $test_a ); echo '<br />'; var_dump( $test_b );
。如果我没错的话,那么 $test_a
是 TRUE
,而 $test_b
应该是 A success
,对吗? - kaiserbool (true)
。 - Joshua Smickus$a = 1 AND 1 OR false; $b = 1 && 1 OR false;
执行完后,$a
的值将会是 1(因为表达式的其余部分被省略了),而 $b
的值将会是 true,因为这是整个表达式的结果。 - Oleg Dubas$a = true AND false;
。你能猜到 $a 的值吗?它将会是 TRUE !!! - Oleg Dubas