算术运算符用于对数值类型的变量或者常量进行算术运算,下面就来介绍这些运算符。

1.取反运算符

取反运算符用于取得一个值的相反值,使用的符号为-(负号)。取反运算符的使用和理解比较简单,因此这里不做详细介绍。

2.四则运算符

PHP 中的算数运算符同数学非常类似,最常用的例如+(加法运算符)、-(减法运算符)、*(乘法运算符)、/(除法运算符)运算符的使用方法同数字中的四则运算符相同。

$x=10+15;//加法运算

$y=50-$x;//减法运算

$z=$y*2;//乘法运算

$n=$z/5;//除法运算

echo $x;//输出变量 x 的值

echo $y;//输出变量 y 的值

echo $z;//输出变量 z 的值

echo $n;//输出变量 n 的值

?>

代码运行结果:25255010

从以上的运行结果演示了四则数学运算符的使用方法,同时输出对应的运算结果。

3.取模运算符

取模运算符是编程语言中特有的一个运算符。执行取模运算的符号是“%”。它的作用是求出两个整型数值进行除法运算的余数。

$x=10%5;//进行求余运算

$y=10%3;//进行求余运算

$z=10%6;//进行求余运算

echo $x;//输出变量 x 的值

echo $y;//输出变量 y 的值

echo $z;//输出变量 z 的值

?>

代码运行结果:014

以上输出结果就是代码中相应取模运算的结果。

4.复合赋值运算符

复合赋值运算符是一类赋值运算的简化写法,我们在讲解之前先来看一个示例。

$x=10;//初始化变量 x

echo $x;//输出变量 x 的值

$x=$x+5;//将变量 x 原来的值加 5 后赋值给自身

echo $x;//输出变量 x 的值

$x=$x*5;//将变量 x 原来的值乘以 5 后赋值给自身

echo $x;//输出变量 x 的值

$x=$x/5;//将变量 x 原来的值除以 5 后赋值给自身

echo $x;//输出变量 x 的值

$x=$x-5;//将变量 x 原来的值减 5 后赋值给自身

echo $x;//输出变量 x 的值

$x=$x%7;//将变量 x 原来的值与 5 取余后赋值给自身

echo $x;//输出变量 x 的值

?>

代码运行结果:10157515103

上述的运算在传统的数学运算中是不会实现的,而在编程中这是可以实现的,我们也可以从运行结果中证明这类操作是不会出错的。这种运算的形式可以归纳为以下形式:

variable = variable operational other_variable

以上形式中的 operational 表示运算符;variable 表示一个变量;other_variable 表示不同于 variable 的其他变量。以上这种格式在编程中就可以简写为如下的形式:

variable operational = other_variable

这种形式的运行效果是等价于上一种形式的。但是这绝不是为了美观或者使用简便,使用这种形式可以节省一定的资源,具体细节读者可以参考其他相关资料这里不做讲解。

使用复合赋值形式改写上面的代码。

$x=10;//初始化变量 x

echo $x;//输出变量 x 的值

$x+=5;//将变量 x 原来的值加 5 后赋值给自身

echo $x;//输出变量 x 的值

$x*=5;//将变量 x 原来的值乘以 5 后赋值给自身

echo $x;//输出变量 x 的值

$x/=5;//将变量 x 原来的值除以 5 后赋值给自身

echo $x;//输出变量 x 的值

$x-=5;//将变量 x 原来的值减 5 后赋值给自身

echo $x;//输出变量 x 的值

$x%=7;//将变量 x 原来的值与 5 取余后赋值给自身

echo $x;//输出变量 x 的值

?>

代码运行结果:10157515103

从以上代码的运行结果我们可以看出,在使用复合赋值方式后计算结果与上一示例是相同的。

5.递增递减运算符

递增递减运算符可以说是一种特定形式的符合赋值运算的简写,在讲解之前我们首先来看一个示例。

$x=1;//初始化变量 x

echo $x;//输出变量 x 的值

$x+=1;//进行复合赋值操作

echo $x;//输出变量 x 的值

$x+=1;//进行复合赋值操作

echo $x;//输出变量 x 的值

$x+=1;//进行复合赋值操作

echo $x;//输出变量 x 的值

$y=4;//初始化变量 y

echo $y;//输出变量 y 的值

$y-=1;//进行复合赋值操作

echo $y;//输出变量 y 的值

$y-=1;//进行复合赋值操作

echo $y;//输出变量 y 的值

$y-=1;//进行复合赋值操作

echo $y;//输出变量 y 的值

?>

代码运行结果:12344321

以上代码的作用是对一个数做每次加 1 或者减 1 的操作,这种操作就称为递增或者递减运算,这在循环操作中使用非常频繁。以上的操作我们同样可以归纳为一个固定的形式,如下所示:

variable (+ or -) = 1

以上这种递增或者递减的操作在编程语言中定义了两个对应的操作符++(递增运算符)和--(递减运算符)。因此,以上的形式就可以改写为如下的形式:

variable++ //后置递增

variable— //后置递减

++variable //前置递增

--variable //前置递减

在上面的形式中,我们可以看出递增和递减操作分为前置和后置:

前置递增或者递减运算的特点是先进行递增或者递减运算然后再取变量的值;

后置递增或者递减运算的特点事先进行对变量取值的操作,然后再进行递增或者递减的操作,因此这种操作的效果会在下一次使用该变量时体现。

$x=1;//初始化变量 x

$x++;//后置递增变量 x

echo $x;//输出变量 x 的值,结果为 2

echo $x++;//输出变量 x++的结果。由于是后置递增,因此结果仍为 2

echo $x++;//输出变量 x++的结果。上条递增的结果在这里表现,因此此时变量 x 的值为 3,因为

//此条运算为后置,因此结果为 3

$y=1;//初始化变量 y

++$y;//进行前置递增运算

echo $y;//输出变量 y 前置递增后的值,结果为 2

echo ++$y;//输出变量 y 前置递增后的值。因为此时变量 y 的值为 2,因此前置递增后结果为 3

echo ++$y;//输出变量 y 前置递增后的值,结果为 4

?>

代码运行结果:223234

以上代码演示的是前置和后置递增运算操作,递减操作的运行流程与递增操作类似,这里就不再做详细讲解。