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