PHP学习记录【php算术运算】

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。

运算符可按照其能接受几个值来分组。一元运算符只能接受一个值,例如 !(逻辑取反运算符)或 ++(递增运算符)。二元运算符可接受两个值,例如熟悉的算术运算符 +(加)和 -(减),大多数 PHP 运算符都是这种。最后是唯一的三元运算符 ? :,可接受三个值;通常就简单称之为“三元运算符”(尽管称之为条件运算符可能更合适)。

PHP 的运算符完整列表见下节运算符优先级。该节也解释了运算符优先级和结合方向,这控制着在表达式包含有若干个不同运算符时究竟怎样对其求值

PHP运算符优先级

运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。

如果运算符优先级相同,其结合方向决定着应该从右向左求值,还是从左向右求值——见下例。

下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

运算符优先级

运算符 附加信息
clone new clone 和 new
[ array()
++ – ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
instanceof 类型
! 逻辑运算符
* / % 算术运算符
+ - . 算术运算符和字符串运算符
<< >> 位运算符
== != === !== <> 比较运算符
& 位运算符和引用
^ 位运算符
竖线 位运算符
&& 逻辑运算符
逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= = ^= <<= >>= =>
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

对具有相同优先级的运算符,左结合方向意味着将从左向右求值,右结合方向则反之。对于无结合方向具有相同优先级的运算符,该运算符有可能无法与其自身结合。举例说,在 PHP 中 1 < 2 > 1 是一个非法语句,而 1 <= 1 == 1则不是。因为 T_IS_EQUAL 运算符的优先级比 T_IS_SMALLER_OR_EQUAL 的运算符要低。

Example #1 结合方向

<?php 
$a = 3 * 3 % 5 ; // (3 * 3) % 5 = 4 
$a = true ? 0 : true ? 1 : 2 ; // (true ? 0 : true) ? 1 : 2 = 2 
$a = 1 ; 
$b = 2 ; 
$a = $b += 3 ; // $a = ($b += 3) -> $a = 5, $b = 5 
// mixing ++ and + produces undefined behavior 
$a = 1 ; 
echo ++ $a + $a ++; // may print 4 or 5 
?>  

运行结果:

4

使用括号,即使在并不严格需要时,通常都可以增强代码的可读性。

Note:
尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a 。

一、php算术运算符

学校里学到的基本数学算术知识吗,就和它们一样

运算符 名称 例子 结果 实例 结果
+ 加法 $x + $y $x 与 $y 求和 2 + 2 4
- 减法 $x - $y $x 与 $y 的差数 5 - 2 3
* 乘法 $x * $y $x 与 $y 的乘积 5 * 2 10
/ 除法 $x / $y $x 与 $y 的商数 15 / 5 3
% 模数 $x % $y $x 除 $y 的余数 5 % 2 1
- x 取反 -$a $x 除 $y 的余数 -2
a . b 并置 $x % $y 连接两个字符串 “Hi” . “Ha” HiHa

下例展示了使用不同算数运算符的不同结果:

实例

<?php  
$x=10;  
$y=6; 
echo ($x + $y); // 输出 16 
echo ($x - $y); // 输出 4 
echo ($x * $y); // 输出 60 
echo ($x / $y); // 输出 1.6666666666667 
echo ($x % $y); // 输出 4 
?> 

运行结果:

164601.66666666666674

php算术运算符

例子 名称 结果
-$a 取反 $a 的负值。
$a + $b 加法 $a 和 $b 的和。
$a - $b 减法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的积。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 取模 $a 除以 $b 的余数。

除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a % $b 的结果和 $a 的符号相同。例如:

<?php 
echo ( 5 % 3 ). "\n" ; // prints 2 
echo ( 5 % - 3 ). "\n" ; // prints 2 
echo (- 5 % 3 ). "\n" ; // prints -2 
echo (- 5 % - 3 ). "\n" ; // prints -2 
?> 

运行结果:

2 2 -2 -2

<?php
$x=5;
$y=6;
//5+6为11
echo $x+$y;
?>

运行结果:

11

语法:

// 定义
$a = 1;
$b = 2;

//加法运算,结果为 3
echo ($a + $b); 

//减法运算,结果为 -1
echo ($a - $b);

//乘法运算,结果为 2
echo ($a * $b);

//除法运算,结果为 0.5
echo ($a / $b);

//取反,结果为 -1
echo ( -$a );

//取模,结果为 1
echo ( $a % $b );
<?php
$x=10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值