转载

php递增/递减运算符

PHP 递增/递减运算符

PHP 支持 C 风格的前/后递增与递减运算符。

运算符 名称 描述
++$x 前递增 $x 加一递增,然后返回 $x
$x++ 后递增 返回 $x,然后 $x 加一递增
--$x 前递减 $x 减一递减,然后返回 $x
$x-- 后递减 返回 $x,然后 $x 减一递减

下例展示了使用不同递增/递减运算符的不同结果:

实例

  1. <?php 
  2. $x=10;  
  3. echo ++$x// 输出 11 
  4.  
  5. $y=10;  
  6. echo $y++; // 输出 10 
  7.  
  8. $z=5; 
  9. echo --$z// 输出 4 
  10.  
  11. $i=5; 
  12. echo $i--; // 输出 5 
  13. ?> 

扩展阅读:

Note: 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。

递增/递减运算符
例子 名称 效果
++$a 前加 $a 的值加一,然后返回 $a 。
$a++ 后加 返回 $a ,然后将 $a 的值加一。
--$a 前减 $a 的值减一, 然后返回 $a 。
$a-- 后减 返回 $a ,然后将 $a 的值减一。

一个简单的示例脚本:

  1. <?php 
  2. echo "<h3>Postincrement</h3>" ; 
  3. $a = 5 ; 
  4. echo "Should be 5: " . $a ++ . "<br />/n" ; 
  5. echo "Should be 6: " . $a . "<br />/n" ; 
  6.  
  7. echo "<h3>Preincrement</h3>" ; 
  8. $a = 5 ; 
  9. echo "Should be 6: " . ++ $a . "<br />/n" ; 
  10. echo "Should be 6: " . $a . "<br />/n" ; 
  11.  
  12. echo "<h3>Postdecrement</h3>" ; 
  13. $a = 5 ; 
  14. echo "Should be 5: " . $a -- . "<br />/n" ; 
  15. echo "Should be 4: " . $a . "<br />/n" ; 
  16.  
  17. echo "<h3>Predecrement</h3>" ; 
  18. $a = 5 ; 
  19. echo "Should be 4: " . -- $a . "<br />/n" ; 
  20. echo "Should be 4: " . $a . "<br />/n" ; 
  21. ?> 

在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '['('Z'的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。

Example #1 涉及字符变量的算数运算

  1. <?php 
  2. $i = 'W' ; 
  3. for ( $n = 0 ; $n < 6 ; $n ++) { 
  4. echo ++ $i . "/n" ; 
  5. ?> 

以上例程会输出:

  1. AA 
  2. AB 
  3. AC 

递增或递减布尔值没有效果。

正文到此结束
Loading...