天天看点

php中$i++,++$i,$i+$i++,$i+$i+$i++

  • $i++ 

    先将$i值赋给变量$a(也就是 $a=$i),然后$i值加1(也就是 $i=$i+1)     相当于  $a=$i;$i=$i+1;

    php中$i++,++$i,$i+$i++,$i+$i+$i++
  • ++$i 

    先将$i值加1(也就是 $i=$i+1),然后$i值赋给变量$a(也就是 $a=$i)     相当于  $i=$i+1;$a=$i;

    php中$i++,++$i,$i+$i++,$i+$i+$i++
  • ++$i 与 $i++ 单独使用时,相当于 $i=$i+1; 
  • $i+$i++

    由于++的优先级大于+所以先执行++,但是$i++ 是先给值后执行自加操作。也就是说式子变成了 

    $i+1

    同时$i被执行++操作,所以此时$i=2,式子$i+$i++ 变为:2+1。所以式子$i+$i++ 的值为3

    $i=1;

    $a=$i++;

    $i+$a  // 2+1=3

    php中$i++,++$i,$i+$i++,$i+$i+$i++
  • $i+$i+$i++

    首先我们必须明白一件事情,就是优先级只对局部有效什么叫做局部有效呢?

    比如:$a+$b+$c*$d

    虽然在该式子中*乘法优先级最高,但是并不影响$a+$b按照从左到右的顺序先执行加法。

    同样的虽然在式子 $i+$i+$i++ 中++优先级最高但是最前面的两个$i可以先执行加法,所以式子就变成了

    2+$i++ 所以等于3

    php中$i++,++$i,$i+$i++,$i+$i+$i++

执行顺序问题

php