目录
1.指令分隔符
分号 ; 的作用是用来分隔语句的。
<?php
echo "<p>Order processed at ".date('H:i, jS F Y')."</p>";
?>
2.字符串运算符
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
. | 串接 | $txt1 = “Hello” $txt2 = $txt1 . ” world!” | 现在 $txt2 包含 “Hello world!” |
.= | 串接赋值 | $txt1 = “Hello” $txt1 .= ” world!” | 现在 $txt1 包含 “Hello world!” |
3.算术运算符
例子 | 名称 | 结果 |
---|---|---|
+$a | 标识 | 根据情况将 $a 转化为 int 或 float。 |
-$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 的 $b次方的值。 |
4.赋值运算符
例子 | 等同于 | 操作 |
---|---|---|
$a = 5 | $a = 5 | 把右侧表达式的值赋给左边的操作数 |
$a += $b | $a = $a + $b | 加法 |
$a -= $b | $a = $a – $b | 减法 |
$a *= $b | $a = $a * $b | 乘法 |
$a /= $b | $a = $a / $b | 除法 |
$a %= $b | $a = $a % $b | 取模 |
$a **= $b | $a = $a ** $b | 指数 |
5.位运算符
例子 | 名称 | 结果 |
---|---|---|
$a & $b | And(按位与) | 将把 $a 和 $b 中都为 1 的位设为 1。 |
$a | $b | Or(按位或) | 将把 $a 和 $b 中任何一个为 1 的位设为 1。 |
$a ^ $b | Xor(按位异或) | 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 |
~ $a | Not(按位取反) | 将 $a 中为 0 的位设为 1,反之亦然。 |
$a << $b | Shift left(左移) | 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 |
$a >> $b | Shift right(右移) | 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 |
6.位赋值运算符
例子 | 等同于 | 操作 |
---|---|---|
$a &= $b | $a = $a & $b | 按位与 |
$a |= $b | $a = $a | $b | 按位或 |
$a ^= $b | $a = $a ^ $b | 按位异或 |
$a <<= $b | $a = $a << $b | 左移 |
$a >>= $b | $a = $a >> $b | 右移 |
7.递增/递减运算符
例子 | 名称 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
–$a | 前减 | $a 的值减一, 然后返回 $a。 |
$a– | 后减 | 返回 $a,然后将 $a 的值减一。 |
8.比较运算符
例子 | 名称 | 结果 |
---|---|---|
$a == $b | 等于 | true ,如果类型转换后 $a 等于 $b。 |
$a === $b | 全等 | true ,如果 $a 等于 $b,并且它们的类型也相同。 |
$a != $b | 不等 | true ,如果类型转换后 $a 不等于 $b。 |
$a <> $b | 不等 | true ,如果类型转换后 $a 不等于 $b。 |
$a !== $b | 不全等 | true ,如果 $a 不等于 $b,或者它们的类型不同。 |
$a < $b | 小与 | true ,如果 $a 严格小于 $b。 |
$a > $b | 大于 | true ,如果 $a 严格大于 $b。 |
$a <= $b | 小于等于 | true ,如果 $a 小于或者等于 $b。 |
$a >= $b | 大于等于 | true ,如果 $a 大于或者等于 $b。 |
$a <=> $b | 太空船运算符(组合比较符) | 当$a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的 int 值。 |
9.逻辑运算符
例子 | 名称 | 结果 |
---|---|---|
$a and $b | And(逻辑与) | true ,如果 $a 和 $b 都为 true 。 |
$a or $b | Or(逻辑或) | true ,如果 $a 或 $b 任一为 true 。 |
$a xor $b | Xor(逻辑异或) | true ,如果 $a 或 $b 任一为 true ,但不同时是。 |
! $a | Not(逻辑非) | true ,如果 $a 不为 true 。 |
$a && $b | And(逻辑与) | true ,如果 $a 和 $b 都为 true 。 |
$a || $b | Or(逻辑或) | true ,如果 $a 或 $b 任一为 true 。 |
10.数组运算符
例子 | 名称 | 结果 |
---|---|---|
$a + $b | 联合 | $a 和 $b 的联合。 |
$a == $b | 相等 | 如果 $a 和 $b 具有相同的键/值对则为 true 。 |
$a === $b | 全等 | 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 true 。 |
$a != $b | 不等 | 如果 $a 不等于 $b 则为 true 。 |
$a <> $b | 不等 | 如果 $a 不等于 $b 则为 true 。 |
$a !== $b | 不全等 | 如果 $a 不全等于 $b 则为 true 。 |
11.三元条件运算符
三元运算符是类似于条件语句 if-else 的表达式版本。
(expr1) ? (expr2) : (expr3)
表达式 (expr1) ? (expr2) : (expr3)
在 expr1 求值为 true
时的值为 expr2,在 expr1 求值为 false
时的值为 expr3。
expr1 ?: expr3
可以省略三元运算符中间那部分。表达式 expr1 ?: expr3
在 expr1 求值为 true
时返回 expr1,否则返回 expr3。
12.NULL合并运算符
<?php
// NULL 合并运算符的例子
$action = $_POST['action'] ?? 'default';
// 以上例子等同于于以下 if/else 语句
if (isset($_POST['action'])) {
$action = $_POST['action'];
} else {
$action = 'default';
}
?>
(expr1) ?? (expr2)
当 expr1 为 null
,表达式 (expr1) ?? (expr2)
等于 expr2,否则为 expr1。
13.引用赋值运算符
引用赋值运算符&可以在赋值操作中使用。通常,在将一个变量的值赋给另一个变量的时候,会先产生原变量的一个副本,然后再将它保存在内存的其他地方。例如:
$a = 5;
$b = $a;
$a = 7;
//$b的值依然是5
首先,会产生$a的一个副本,然后再将它保存到$b(内存的其他地方)。如果改变$a和$b中任意一个的值,都不会改变另外一个变量的值,很显然,这两个变量已经指向了两个不同的内存地址。
要避免生成副本,可以使用引用操作符&
$a = 5;
$b = &$a;
$a = 7;
//$a和$b的值都是7
很显然,$a和$b都指向了同一个内存地址。
14.use运算符
可以使用use运算符导入并别名其他命名空间内的成员:类,命名空间,接口,Trait,函数,常量。
// 导入类并别名
use My\Full\Classname as Another;
// 等同于 use My\Full\NSname as NSname
use My\Full\NSname;
// 导入全局类
use ArrayObject;
// 导入函数
use function My\Full\functionName;
// 导入并别名函数
use function My\Full\functionName as func;
// 导入常量
use const My\Full\CONSTANT;
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/4933.html