递增递减运算符
前递增运算符和后递增运算符对于变量而言,结果都是变量的值加一。
<?php
$foo = 6;
++$foo;
var_dump($foo); // int(7)
$foo++;
var_dump($foo); // int(8)
前递增运算符首先将变量的值加一,然后返回当前的变量。
<?php
$foo = 6;
$bar = ++$foo;
var_dump($foo); // int(7)
var_dump($bar); // int(7)
后递增运算符首先返回当前的变量,然后将变量的值加一。
<?php
$foo = 6;
$bar = $foo++;
var_dump($foo); // int(7)
var_dump($bar); // int(6)
递增运算符优先级高于算数运算符和赋值运算符。
<?php
$foo = 6;
$bar = $foo++ + ++$foo;
var_dump($foo); // int(8)
var_dump($bar); // int(14)
$foo = 6;
$bar = 2;
$baz = $foo++ + ++$bar;
var_dump($foo); // int(7)
var_dump($bar); // int(3)
var_dump($baz); // int(9)
前递减运算符和后递减运算符对于变量而言,结果都是变量的值减一。
<?php
$foo = 6;
--$foo;
var_dump($foo); // int(5)
$foo--;
var_dump($foo); // int(4)
前递减运算符首先将变量的值减一,然后返回当前的变量。
<?php
$foo = 6;
$bar = --$foo;
var_dump($foo); // int(5)
var_dump($bar); // int(5)
后递减运算符首先返回当前的变量,然后将变量的值减一。
<?php
$foo = 6;
$bar = $foo--;
var_dump($foo); // int(5)
var_dump($bar); // int(6)
递减运算符优先级高于算数运算符和赋值运算符。
<?php
$foo = 6;
$bar = $foo-- + --$foo;
var_dump($foo); // int(4)
var_dump($bar); // int(10)
$foo = 6;
$bar = 2;
$baz = $foo-- + --$bar;
var_dump($foo); // int(5)
var_dump($bar); // int(1)
var_dump($baz); // int(7)