首先看一道面試題:
$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";