您好,登录后才能下订单哦!
# PHP基础运算符有哪些
PHP作为一门广泛使用的服务器端脚本语言,其运算符系统丰富而全面。运算符是构成PHP表达式的核心元素,掌握各类运算符的用法是PHP编程的基础。本文将全面介绍PHP中的基础运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符、字符串运算符、数组运算符等,并通过大量示例帮助读者深入理解。
## 一、算术运算符
算术运算符用于执行基本的数学运算,如加减乘除等。PHP支持以下算术运算符:
| 运算符 | 名称 | 示例 | 结果 |
|--------|------------|------------|--------------------------|
| + | 加法 | $a + $b | $a和$b的和 |
| - | 减法 | $a - $b | $a和$b的差 |
| * | 乘法 | $a * $b | $a和$b的积 |
| / | 除法 | $a / $b | $a除以$b的商 |
| % | 取模 | $a % $b | $a除以$b的余数 |
| ** | 幂运算 | $a ** $b | $a的$b次方 |
| - | 取反 | -$a | $a的负数 |
| ++ | 自增 | $a++或++$a | $a的值增加1 |
| -- | 自减 | $a--或--$a | $a的值减少1 |
### 1.1 基本算术运算示例
```php
$a = 10;
$b = 3;
echo $a + $b; // 输出13
echo $a - $b; // 输出7
echo $a * $b; // 输出30
echo $a / $b; // 输出3.333...
echo $a % $b; // 输出1
echo $a ** $b; // 输出1000
自增(++)和自减(–)运算符有前置和后置之分:
$x = 5;
echo $x++; // 输出5,然后$x变为6
echo ++$x; // $x先变为7,然后输出7
$y = 8;
echo $y--; // 输出8,然后$y变为7
echo --$y; // $y先变为6,然后输出6
赋值运算符用于给变量赋值,最基本的赋值运算符是”=“。PHP还支持组合赋值运算符,将算术运算和赋值操作结合在一起。
运算符 | 示例 | 等价于 | 描述 |
---|---|---|---|
= | \(a = \)b | - | 将\(b的值赋给\)a |
+= | \(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 | 幂赋值 |
.= | \(a .= \)b | \(a = \)a . $b | 字符串连接赋值 |
$a = 10; // 简单赋值
$b = 5;
$a += $b; // $a = $a + $b = 15
$a -= $b; // $a = $a - $b = 10
$a *= $b; // $a = $a * $b = 50
$a /= $b; // $a = $a / $b = 10
$a %= $b; // $a = $a % $b = 0
$str = "Hello";
$str .= " World!"; // $str = "Hello World!"
比较运算符用于比较两个值,返回布尔值true或false。PHP提供了多种比较运算符:
运算符 | 名称 | 示例 | 结果 |
---|---|---|---|
== | 等于 | \(a == \)b | 如果\(a等于\)b返回true |
=== | 全等 | \(a === \)b | 如果\(a等于\)b且类型相同 |
!= | 不等 | \(a != \)b | 如果\(a不等于\)b返回true |
<> | 不等 | \(a <> \)b | 与!=相同 |
!== | 不全等 | \(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 = 5;
$b = "5";
var_dump($a == $b); // bool(true),值相等
var_dump($a === $b); // bool(false),类型不同
var_dump($a != $b); // bool(false)
var_dump($a !== $b); // bool(true)
var_dump($a < 10); // bool(true)
var_dump($a > 3); // bool(true)
太空船运算符是PHP7新增的运算符,用于比较两个表达式:
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// 字符串比较也适用
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
逻辑运算符用于组合条件语句,PHP支持以下逻辑运算符:
运算符 | 名称 | 示例 | 结果 |
---|---|---|---|
and | 逻辑与 | \(a and \)b | 如果\(a和\)b都为true返回true |
or | 逻辑或 | \(a or \)b | 如果\(a或\)b有一个为true返回true |
xor | 逻辑异或 | \(a xor \)b | 如果\(a或\)b有且仅有一个为true返回true |
&& | 逻辑与 | \(a && \)b | 与and相同,但优先级更高 |
|| | 逻辑或 | \(a \|\| \)b | 与or相同,但优先级更高 |
! | 逻辑非 | !$a | 如果$a不为true返回true |
$a = true;
$b = false;
var_dump($a and $b); // bool(false)
var_dump($a or $b); // bool(true)
var_dump($a xor $b); // bool(true)
var_dump(!$a); // bool(false)
var_dump($a && $b); // bool(false)
var_dump($a || $b); // bool(true)
逻辑运算符具有短路求值特性:
function foo() {
echo "foo called";
return false;
}
// 因为第一个操作数为false,&&运算符不会调用foo()
false && foo();
// 因为第一个操作数为true,||运算符不会调用foo()
true || foo();
PHP有两个字符串运算符:
运算符 | 名称 | 示例 | 结果 |
---|---|---|---|
. | 连接 | \(a . \)b | 连接\(a和\)b |
.= | 连接赋值 | \(a .= \)b | 将\(b连接到\)a后面 |
$str1 = "Hello";
$str2 = "World";
echo $str1 . " " . $str2; // 输出"Hello World"
$str1 .= " PHP";
echo $str1; // 输出"Hello PHP"
PHP提供了一些专门用于数组的运算符:
运算符 | 名称 | 示例 | 结果 |
---|---|---|---|
+ | 联合 | \(a + \)b | \(a和\)b的联合 |
== | 相等 | \(a == \)b | 如果\(a和\)b具有相同的键/值对返回true |
=== | 全等 | \(a === \)b | 如果\(a和\)b具有相同的键/值对且顺序和类型相同 |
!= | 不等 | \(a != \)b | 如果\(a不等于\)b返回true |
<> | 不等 | \(a <> \)b | 与!=相同 |
!== | 不全等 | \(a !== \)b | 如果\(a不全等于\)b返回true |
$a = ["a" => "apple", "b" => "banana"];
$b = ["a" => "pear", "b" => "banana", "c" => "cherry"];
// 联合运算,保留左边数组的键
$c = $a + $b;
print_r($c); // 输出Array([a] => apple [b] => banana [c] => cherry)
// 数组比较
var_dump($a == $b); // bool(false)
var_dump($a === $b); // bool(false)
三元运算符是if-else语句的简写形式:
$age = 20;
$status = ($age >= 18) ? "成人" : "未成年";
echo $status; // 输出"成人"
PHP7新增的空合并运算符用于简化isset()检查:
// 传统写法
$username = isset($_GET['user']) ? $_GET['user'] : 'guest';
// 使用空合并运算符
$username = $_GET['user'] ?? 'guest';
@运算符用于抑制表达式可能产生的错误信息:
$file = @file('non_existent_file'); // 不会显示错误信息
当多个运算符出现在同一个表达式中时,PHP会按照运算符优先级来决定运算顺序。以下是一些常见运算符的优先级(从高到低):
可以使用括号来明确指定运算顺序:
$a = 1 + 2 * 3; // 7 (乘法优先级高于加法)
$b = (1 + 2) * 3; // 9 (括号改变优先级)
PHP提供了丰富的运算符类型,包括:
掌握这些运算符的用法和优先级是编写高效PHP代码的基础。在实际开发中,合理使用运算符可以简化代码并提高可读性。建议开发者通过大量练习来熟悉各种运算符的行为特性,特别是类型转换和比较运算中的特殊情况。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。