PHP 递增/递减运算符


php支持 C 风格的前/后递增与递减运算符,递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。

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

一个简单的示例脚本:

 <?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br /> ";
echo "Should be 6: " . $a . "<br /> ";

echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br /> ";
echo "Should be 6: " . $a . "<br /> ";

echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br /> ";
echo "Should be 4: " . $a . "<br /> ";

echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br /> ";
echo "Should be 4: " . $a . "<br /> ";
?>

在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 ‘Z‘+1 将得到 ‘AA‘,而在 C 中,‘Z‘+1 将得到 ‘[‘(ord(‘Z‘) == 90,ord(‘[‘) == 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。

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

<?php
$i = ‘W‘;
for ($n=0; $n<6; $n++) {
    echo ++$i . " ";
}
?>

以上例程会输出:

X Y Z AA AB AC

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

五月开门遍地红【新人炒股入门知识】:http://licai.daiyuline.com/gupiao/339.html

5月4日尾盘总结【带鱼投资理财】:http://licai.daiyuline.com/gupiao/347.html

黄金撞千三 如同跨千山【带鱼投资理财】:http://licai.daiyuline.com/guijinshu/348.html

时间: 2024-08-16 20:06:56

PHP 递增/递减运算符的相关文章

C++ Primer笔记12_运算符重载_递增递减运算符_成员访问运算符

1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.但是因为他们改变的正好是所操作对象的状态,所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本,因此,我们应该为类定义两个版本的递增与递减运算符. 问题来了,程序是如何区分前置和后置呢?因为都是++和-- 为了解决这个问题,后置版本的递增递减运算符接受一个额外的(不被使用)int类型的形参.当我们使用后置运算符时,编译器为这个形参提供一个值为0的实参.这个形参唯一的作用就是区分前置和后置运算符函数. 因为不会

PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符

1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 $b 中均为1的位置为1,其余置为0 按位或 | $a | $b 将$a 中为1 或$b中为1的位置为1,其余置为0 按位异或 ^ $a ^ $b 将$a 与 $b 中不同的位置为1,其余置为0 按位非 ~ ~ $a 将 $a 中为1的位置为0,为0的位置为1 左移 << $a <<

四.运算符(5)递增递减运算符

递增递减运算符 学习目标:理解递增和递减(++ --). <?PHP $a=5; $b=$a++;           //1.返回本身的值.2.把a值加1. 分析:$a第一次值 为5.   走到$b时 值是个$a++  先返回值5赋给$b ,所以$b值为5  .后来发生第二次变化,$a会自身加1,改变了原本的值  最后得到了新值 为6.   其它的计算也是这样. var_dump($a,$b);    // 6 5 // *$a-- ,--$a  自己可以偿试. $a=3; $b=++$a;

C++ Primer笔记12_运算符重载_递增递减运算符_成员訪问运算符

1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.可是由于他们改变的正好是所操作对象的状态.所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本号,因此.我们应该为类定义两个版本号的递增与递减运算符. 问题来了.程序是怎样区分前置和后置呢?由于都是++和-- 为了解决问题,后置版本号的递增递减运算符接受一个额外的(不被使用)int类型的形參.当我们使用后置运算符时,编译器为这个形參提供一个值为0的实參. 这个形參唯一的作用就是区分前置和后置运算符函数. 由于

i++与++i 递增递减运算符的前置与后置

C++Primer在132页的提示中说:除非必须,否则不用递增递减运算符的后置版本 很多教材都详细解释了递增递减运算符前置与后置的区别,我对他们的理解是:前置修改后直接赋值,而后置是先修改到临时变量,然后再赋值 下面的这份代码,第一个for循环使用后置版本,第二个使用前置版本,观察在实际使用中这两种样式的区别 for(int i=0;i<10;i++) cout<<i<<" "; cout<<endl; for(int i=0;i<10;

JavaScript运算符:递增递减运算符前置和后置的区别

从两段代码说起 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; var num4 = num1 + num2; console.log(num1 +'-' + num2 +'-'+ num3 +'-' + num4) 将四个数分别打印是多少? var num1 = 2; var num2 = 20; var num3 = num1-- + num2; var num4 = num1 + num2; console.log(num1 +

PHP中的递增/递减运算符

看这段代码 <?php $a=10; $b=++$a; echo $b."<br>"; echo $a; ?> //输出 11 11 说明前递增把$a的值增加了1后再返回给$a和$b,前递增改变了原来$a的值 再看这段 <?php $a=10; $b=$a++; echo $b."<br>"; echo $a; ?> // 输出10 11 说明后递增把$a先返回$a再增加1赋值于$b,后递增没有改变原来的$a值 递减同

4. PHP递增/递减运算符

重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符

一.基本概念 重载的运算符时具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.和其他函数一样,重载的运算符也包含返回类型.参数列表以及函数体. 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多.一元运算符有一个参数,二元运算符有两个.对于二元运算符来说,左侧运算对象传递给第一个参数,而右侧运算对象传递给第二个参数.除了重载的函数调用运算符operator()之外,其他重载运算符不能含有默认实参. 当一个重载的运算符时成员函数时,this绑定到左侧运算