【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!'

使用等号将右侧字符串连接到左侧变量并进行赋值。

总结

我已经学习了非常基本的运算符。希望能够熟练运用运算符,编写尽可能简洁的代码!

广告
将在 10 秒后关闭
bannerAds