首先看一道面試題:
$a = 1; $b = &$a; if ($b == $a++) echo "true"; else echo "false";
然後,創建了一個變量$b,並將其作為對$a的一個引用;
最後這個判斷語句中,包含兩個opcode:POST_INC 和 IS_EQUAL。首先執行的是先返回後自增語句(POST_INC),首先返回1,然後$a自增為了2,因為$b是$a的一個引用,$b也是2。然後執行的是比較語句(IS_EQUAL),因為$b的值是2,$a++的返回值是1,所以不相等。
相類似的面試題目還有:
$a = 1; $b = &$a; $b = $a++; echo "a: $a; b: $b";