++a跟a++都是自加,但是两个的运算顺序是不同的,所有或导致运算结果不同。
++a 在表达式中,是先执行自动加1在其他的运算,类似(++a),先执行小括号里面的;
a++ 是先执行表达式中其他运算,再执行自加。
eg: $a = 0; if(++a ){echo "a=1";}else{echo "a=0";} 及$a = 0; if(a++){echo "a=1";}else{echo "a=0";}
++a 的判断 是先执行++ 及 a=a+1 =1 然后在判断表达式是否成立; a++ 的判断是先判断表达是否成立,在执行++
print $a++; 先print $a (6)然后$a = $a +1 (7)
print ++$a; 先$a = $a +1 (8)然后 print $a (8)
你理解的是正确的,其实主要是看一下运算符的优先级。++在前时它的优先级最高。在后时它的优先级最低。
如果 a 等于 1
a++ 先取值,后运算,a++ 为 1,a 为 2
++a 先运算,再取值,++a 为 2,a 也为 2
对的。 其实没必要研究这玩意, 项目中不会遇到,也就学生考试的时候用用, 闲的蛋疼