PHP 递增语法
递增
++$i
预递增:$i
先加1再返回
$i++
后递增:先返回$i
再加1
$i = ++$i;
相当于$i++;
<?PHP
$i = '1';
$j = $i++;
$f = ++$i;
echo "i: $i, j: $j, f: $f"; // 输出 i: 3, j: 1, f: 3
?>
非纯数字情况
<?PHP
$i = 'a'; $i++;
$f = 'z'; $j++;
$j = '*'; $f++;
echo "i: $i, j: $j, f: $f"; // 输出 i: b, j: *, f: aa
echo "\n";
$i = 'A'; $i++;
$j = 'Z'; $j++;
echo "i: $i, j: $j"; // 输出 i: b, j: *, f: aa
echo "\n";
$i = 'a*'; $i++;
echo "i: $i\n"; // 输出 i: a*
$i = 'aa'; $i++;
echo "i: $i\n"; // 输出 i: ab
$i = 'az'; $i++;
echo "i: $i\n"; // 输出 i: ba
$i = 'zz'; $i++;
echo "i: $i\n"; // 输出 i: aaa
$i = '*z'; $i++;
echo "i: $i\n"; // 输出 i: *z
$i = '9z'; $i++;
echo "i: $i\n"; // 输出 i: 10a
$i = 'z9'; $i++;
echo "i: $i\n"; // 输出 i: aa0
$i = '9*z'; $i++;
echo "i: $i\n"; // 输出 i: 9*a
$i = 'z*9'; $i++;
echo "i: $i\n"; // 输出 i: z*0
?>
字母递增可以理解成将a当成0,z当成9,不同的是9递增后为10,z递增后为aa
还有一种情况就是倒数第二个字符为非数字也非字母时9或z递增加一位的值会丢失
递减
--$i
预递减与$i--
后递减,同上
小记
递增递减对符号(如*
.
)等无效,递减只对纯数字有效