【PHP】运算符
这篇文章是PHP总复习 Advent Calendar 2016的第6天文章!
今天我将总结一下PHP运算符。(˙ω˙)و グッ!
尽管如此,仅仅列举所有内容并不会有什么区别于文件,所以我将介绍一些常用的内容和需要注意的要点。
算子的定义是什么?
从一个或多个值(或者在编程术语中是”表达式”)生成另一个值(控制结构是作为表达式的形式)。
(来自PHP手册)
这话说出来确实有点难啊。汗
可以说,它会对类似于变量的值产生影响。
比如 +、=、!等等,我们经常见到这些符号。
没有必要记住每个运算符的名称,因为几乎没有没有运算符的编程。所以,让我们通过实践来熟悉它,而不是单纯地学习它。
算子的分类
代数运算符
除了编程之外,还经常见到类似于所谓的“计算”的东西。
$a + $b 是加法运算。
$a – $b 是减法运算。
$a * $b 是乘法运算(请注意不是用×表示)。
$a / $b 是除法运算。
这样一来。
除法的结果将返回整数或浮点数,因此需要注意如何处理。
运算符的效果:计算
代入运算符
我会继续使用此前经常出现的”=”。
这个”=”表示的是在数学表达式中的”等于”,而不是”赋值”。
$b = 1;
$b等于1。
$b 不等于 1,而是表示将 1 “赋值给” $b。
运算符的效果:赋值
比较运算符
对比两个值并返回结果。
例如,先前的=表示”赋值”,而===用于比较”相等”。
当$a === $b时,若$a与$b相等,则返回布尔类型的TRUE;若不相等,则返回FALSE。
请注意,在比较操作符中,有一种是将类型转换后比较相等性的 ==,还有一种是检查类型并比较相等性的 ===。
<?php
$a = '1'; // string型(文字列)
$b = 1; // integer型(整数)
echo $a == $b; // true
echo $a === $b; // false
在这里学习「形态」也很有用 ( 厂˙ω˙ )厂
经常使用的比较运算符有,
!= 不等于(进行类型转换后比较)
!== 不等于(同时比较类型)
> 大于
>= 大于等于
在中文中,有以下等等的意思。另外还会在下文中提到,但主要表示否定的意思。
算子对比的效果
另外,还有一种东西叫做三元运算符。
我们使用问号 : 它。
式1?式2:式3
对表达式1进行评估,如果为true,则返回表达式2;如果为false,则返回表达式3。
<?php
$user = 'Tom';
$greeting = isset($user) ? 'Hello, '. $user : 'Hello, guest';
echo $greeting; // 'Hello, Tom'
首先,对isset($user)进行评估,结果为true,因此返回表达式2。(将返回值赋给$greeting)
此外,如果式2与式1取相同的值,可以省略。
<?php
$user = ['id' => 1, 'age' => 18, 'region' => 'Tokyo'];
$name = $user['name'] ?: 'NONAME';
echo $name; // 'NONAME'
从PHP7开始,我们可以使用一个称为”null合并运算符”的运算符。
式1:请将以下内容用中文进行本地化改写,只需要一个选项:
式2:请将下列内容用中文进行重新表述,只需提供一种选择:
当存在式1时,返回式1的值;若不存在,则返回式2的值。
<?php
// 下記は全て同じ結果を返す処理
if (isset($name)) {
$user['name'] = $name;
} else {
$user['name'] = 'NONAME';
}
$user['name'] = isset($name) ? $name : 'NONAME';
$user['name'] = $name ?? 'NONAME';
因为可以在一行中简洁地写出来,所以经常使用空合并运算符!
逻辑运算符
可以通过组合条件语句进行评估。
1&&2
由于上述的&&表示”且”,所以当”表达式1为真且表达式2为真”时返回真。
1. 第一个公式和第二个公式
2. 公式1和公式2
上述的“且”与&&都表示“并且”,但它们的优先级不同。
同样地,表示“或者”的“或”和||的优先级也不同,请注意。
由于优先级的关系,所以应优先考虑或选择 << 和 << || << &&。
如果(式1 且 式2 或 式3 或 式4){ ・・・
如果有这样的条件的话,
① 式1和式2
② 式1或式3
③ 式2或式4
将按照这个顺序进行计算。
文本串操作符
使用.来操作字符串。
<?php
$greeting = 'Hello, ';
$message = $greeting . 'Tom!';
echo $message; // 'Hello, Tom!'
当将字符串用“.”连接时,它们会合并成一个字符串。
<?php
$greeting = 'Hello, ';
$greeting .= 'Tom!';
echo $greeting; // 'Hello, Tom!'
使用等号将右侧字符串连接到左侧变量并进行赋值。
总结
我已经学习了非常基本的运算符。希望能够熟练运用运算符,编写尽可能简洁的代码!