运算符

算术运算符

运算符 名称 描述 实例 结果
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 取反 x 取反 - 2
a . b 并置 连接两个字符串 "Hi" . "Ha" HiHa

赋值运算符

在 PHP 中,基本的赋值运算符是 "="。它意味着左操作数被设置为右侧表达式的值。也就是说,"$x = 5" 的值是 5。

运算符 等同于 描述
x = y x = y 左操作数被设置为右侧表达式的值
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y 模(除法的余数)
a .= b a = a . b 连接两个字符串

测试代码:

$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world!

递增/递减运算符

运算符 名称 描述
++ x 预递增 x 加 1,然后返回 x
x ++ 后递增 返回 x,然后 x 加 1
-- x 预递减 x 减 1,然后返回 x
x -- 后递减 返回 x,然后 x 减 1

比较运算符

比较操作符可以让您比较两个值:

运算符 名称 描述 实例
x == y 等于 如果 x 等于 y,则返回 true 5==8 返回 false
x === y 恒等于 如果 x 等于 y,且它们类型相同,则返回 true 5==="5" 返回 false
x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
x !== y 不恒等于 如果 x 不等于 y,或它们类型不相同,则返回 true 5!=="5" 返回 true
x > y 大于 如果 x 大于 y,则返回 true 5>8 返回 false
x < y 小于 如果 x 小于 y,则返回 true 5<8 返回 true
x >= y 大于等于 如果 x 大于或者等于 y,则返回 true 5>=8 返回 false
x <= y 小于等于 如果 x 小于或者等于 y,则返回 true 5<=8 返回 true

逻辑运算符

运算符 名称 描述 实例
x and y 如果 x 和 y 都为 true,则返回 true x=6 y=3 (x < 10 and y > 1) 返回 true
x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6 y=3 (x==6 or y==5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6 y=3 (x==6 xor y==3) 返回 false
x && y 如果 x 和 y 都为 true,则返回 true x=6 y=3 (x < 10 && y > 1) 返回 true
x || y 如果 x 和 y 至少有一个为 true,则返回 true x=6 y=3 (x==5 || y==5) 返回 false
! x 如果 x 不为 true,则返回 true x=6 y=3 !(x==y) 返回 true

数组运算符

运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y,则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y,则返回 true

测试代码:

$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "b" => "yellow");
var_dump($x + $y); echo "<br>"; // array(3) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" }
var_dump($x == $y);  echo "<br>"; // bool(false)
var_dump($x === $y);  echo "<br>"; // bool(false)
var_dump($x != $y);  echo "<br>"; // bool(true)
var_dump($x <> $y);  echo "<br>"; // bool(true)
var_dump($x !== $y);  echo "<br>"; // bool(true)

三元运算符

另一个条件运算符是"?:"(或三元)运算符 。

语法格式:

(expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

$text = 'xiaoyulive';
// 普通写法
$username = isset($text) ? $text : 'nobody'; echo $username, PHP_EOL;
// PHP 5.3+ 版本写法
$username = $text ?: 'nobody'; echo $username, PHP_EOL;

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress