2.自增/自减变量;
面试人对 “php变量的作用域” 理解挺到位,但在 “自增/自减变量” 上有些把握不准。现复习如下,以供参考:
自增/减分为前置和后置,这涉及到一个先后顺序:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/–>
问题:若 i = 2 , 求 表 达 式 ( i=2,求表达式( i=2,求表达式(i++)*( i + + ) ∗ ( i++)*( i++)∗(i++)的值,并求$i的值
答案:( i + + ) ∗ ( i++)*( i++)∗(i++)*( i + + ) 结 果 为 24 , i++)结果为24, i++)结果为24,i为5
分析:先看计算顺序,发现有括号则先算括号里面的,先取 i 的 值 2 为 ( i的值2为( i的值2为(i++)的值,然后 i 自 加 为 3 ; [ 此 时 ( i自加为3; [此时( i自加为3;[此时(i++)左=2,$i=3]
再算括号中,先取此时的 i 的 值 3 为 ( i的值3为( i的值3为(i++)的值,然后 i 再 自 加 为 4 ; [ 此 时 ( i再自加为4;[此时( i再自加为4;[此时(i++)中=3,$i=4]
后算括号右,先取此时的 i 的 值 4 作 为 ( i的值4作为( i的值4作为(i++)的值,然后$i再自加为5
最后做乘法运算,即234=24 $i=5