PHP 基本语法篇:运算符
小编:艳芬 420阅读 2020.10.28
1、算术运算符
首先来看算术运算符,算术运算符用于数值类型的数学计算,通常包含加、减、乘、除、求余五种运算,此外,PHP 不支持符号类型,负数也是通过取反运算实现的,PHP 5.6 还引入了**快速实现指数运算:
不过我们还是以常见的四则运算为例进行演示:
加减乘除很好理解,求余就是获取两数相除之后的余数,如果可以整除,则余数为 0,比如上面这段示例代码,打印$n5的结果就是 0,我们通过 printf 函数格式化输出结果字符串,整型对应的标识符是%d,另外,如果要输出%字符,需要通过%%转义,上述代码执行结果如下:
另外,如果我们想要在原来的变量基础上进行加减乘除操作,可以用如下方式简写:
$a += $b; // 等价于 $a = $a + $b; printf("%d\n", $a); $a -= $b; // 等价于 $a = $a - $b; printf("%d\n", $a); $a *= $b; // 等价于 $a = $a * $b; printf("%d\n", $a); $a /= $b; // 等价于 $a = $a / $b; printf("%d\n", $a); $a %= $b; // 等价于 $a = $a % $b; printf("%d\n", $a);
上述代码输出结果如下:
现在直接在变量$a的基础上操作,会破坏原有变量的值,但是由于加减/乘除互为逆操作,所以上述1、3、5的运算结果和第一种运算结果一致。
2、自增/自减运算符如果是对变量进行自增、自减操作(通常是整型变量),可以通过自增/自减运算符实现:
$a = 32; // 将 $a 恢复为 32 $a++; // 等价于 $a += 1; $b--; // 等价于 $b -= 1; printf("a, b = %d, %d\n", $a, $b);
上述代码的运算结果是:
你也可以将 ++/-- 自增运算符放到变量之前,它们最终运算结果是一致的,但是有细微区别:
上述代码运算结果如下:
看到了吧,上述对比运算之后,$a和$b的最终运算结果是一致的,不同之处在于自增/自减运算符位于变量之前时,运算之后直接返回变更后的值,而自增/自减运算符位于变量之后时,当前操作返回值还是原始值,直到下次被调用,才会引用更新后的变量值。
关于算术运算符就简单介绍到这里,下面我们来看比较运算符。
3、比较运算符所以比较运算符指的是对变量值大小进行比较,通常也是数值间的比较。PHP 中的比较运算符包含以下这些:
其实就是等于、不等于、小于、小于等于、大于、大于等于这些比较,和数学中的比较运算是一个意思,PHP 中比较运算符的运算结果都是布尔值,要么是true,要么是false,非常简单(后面的注释部分是打印结果):
# 比较运算符 $a = 32; $b = 8; var_dump($a == $b); // false var_dump($a != $b); // true var_dump($a > $b); // true
需要注意的是==和===以及!=与!===之间的区别,前者只比较变量值,后者除了比较变量值,还会比较变量类型(后面的注释部分是打印结果):
# 严格比较 $c = 32; $d = 32.0; var_dump($c == $d); // true var_dump($c != $d); // false var_dump($c === $d); // false var_dump($c !== $d); // true var_dump($a == $c); // true var_dump($a === $c); // true
$a、$c都是整型,且值相同,所以不管是==还是===运算结果都相等,而$d是浮点型,虽然和$c数值相等,但类型不一样,所以==运算结果是true,而===运算结果是false。
4、逻辑运算符最后要介绍的是逻辑运算符,所谓逻辑运算就是与(AND)、或(OR)、非(NOT)、异或(XOR)运算,这些也是和高中数学课本中介绍的逻辑运算是一个概念:
其中and等价于&&、or等价于||,其中$a和$b可以表示某个布尔类型的运算结果,也可以直接是布尔表达式,具体的运算逻辑上面列表中已经讲的比较详细了。
逻辑运算符通常会和比较运算符结合起来使用:
if ($a > $b && $a >= $c) { // do something... } if ($a > $b || $a >= $c) { // do something... } if (!($a < $b)) { // do something... }
另外,如果$a或$b是某个具体类型值的话,会按照如下规则将其转化为对应的布尔值进行逻辑运算(参考 PHP 布尔类型官方文档):
5、其他运算符
以上是 PHP 中常见的几种运算符介绍,除此之外,PHP 还支持其他运算符,非常简单,参考官方文档查看即可:
- 赋值运算符
- 位运算符
- 错误控制运算符
- 执行运算符
- 字符串运算符
- 数组运算符
- 类型运算符
这里就不一一介绍了,后续会在具体使用的时候逐个介绍。
6、运算符优先级如果一个 PHP 表达式中包含了多个运算符,比如进行算术运算的时候,就会包含算术运算符/自增(减)运算符和赋值运算符,又比如,在上述逻辑运算符中提到逻辑运算符通常和比较运算符相伴相生,有的时候,还会引入括号,当涉及到多个运算符时,就存在运算符优先级问题,关于运算符的优先级,可以参考 PHP 官方文档:https://www.php.net/manual/zh/language.operators.precedence.php。
相关推荐
- 简单理解 PHP 框架可能产生的安全问题 0X01 框架简介现在的 php 框架,一般都是单一入口define(SF_PATH,dirname(__DIR__));require_once(SF_PATH./src/Sf.php);require_once(__DIR__ . /../vendor/autoload.php);ini_set("display_errors", "On");error_reporting(E_ALL | E_STR…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…