温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP基础运算符有哪些

发布时间:2021-10-15 10:57:50 来源:亿速云 阅读:179 作者:iii 栏目:编程语言
# 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 

1.2 自增和自减运算符

自增(++)和自减(–)运算符有前置和后置之分:

$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 字符串连接赋值

2.1 基本赋值示例

$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 

2.2 字符串连接赋值

$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 比较两个表达式的大小

3.1 基本比较示例

$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) 

3.2 太空船运算符(<=>)

太空船运算符是PHP7新增的运算符,用于比较两个表达式:

  • 如果\(a < \)b,返回-1
  • 如果\(a == \)b,返回0
  • 如果\(a > \)b,返回1
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

4.1 逻辑运算示例

$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) 

4.2 短路求值特性

逻辑运算符具有短路求值特性:

function foo() { echo "foo called"; return false; } // 因为第一个操作数为false,&&运算符不会调用foo() false && foo(); // 因为第一个操作数为true,||运算符不会调用foo() true || foo(); 

五、字符串运算符

PHP有两个字符串运算符:

运算符 名称 示例 结果
. 连接 \(a . \)b 连接\(a和\)b
.= 连接赋值 \(a .= \)b \(b连接到\)a后面

5.1 字符串连接示例

$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

6.1 数组运算示例

$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) 

七、其他运算符

7.1 三元运算符(?:)

三元运算符是if-else语句的简写形式:

$age = 20; $status = ($age >= 18) ? "成人" : "未成年"; echo $status; // 输出"成人" 

7.2 空合并运算符(??)

PHP7新增的空合并运算符用于简化isset()检查:

// 传统写法 $username = isset($_GET['user']) ? $_GET['user'] : 'guest'; // 使用空合并运算符 $username = $_GET['user'] ?? 'guest'; 

7.3 错误控制运算符(@)

@运算符用于抑制表达式可能产生的错误信息:

$file = @file('non_existent_file'); // 不会显示错误信息 

八、运算符优先级

当多个运算符出现在同一个表达式中时,PHP会按照运算符优先级来决定运算顺序。以下是一些常见运算符的优先级(从高到低):

  1. clone, new
  2. **
  3. ++, –, ~, (int), (float), (string), (array), (object), (bool), @
  4. instanceof
  5. !
  6. *, /, %
  7. +, -, .
  8. <<, >>
  9. <, <=, >, >=
  10. ==, !=, ===, !==, <>
  11. &
  12. ^
  13. |
  14. &&
  15. ||
  16. ??
  17. ? :
  18. =, +=, -=, *=, **=, /=, .=, %=, &=, |=, ^=, <<=, >>=
  19. and
  20. xor
  21. or

可以使用括号来明确指定运算顺序:

$a = 1 + 2 * 3; // 7 (乘法优先级高于加法) $b = (1 + 2) * 3; // 9 (括号改变优先级) 

九、总结

PHP提供了丰富的运算符类型,包括:

  1. 算术运算符:用于基本数学运算
  2. 赋值运算符:用于变量赋值
  3. 比较运算符:用于值比较
  4. 逻辑运算符:用于逻辑判断
  5. 字符串运算符:用于字符串操作
  6. 数组运算符:用于数组操作
  7. 其他特殊运算符:如三元运算符、空合并运算符等

掌握这些运算符的用法和优先级是编写高效PHP代码的基础。在实际开发中,合理使用运算符可以简化代码并提高可读性。建议开发者通过大量练习来熟悉各种运算符的行为特性,特别是类型转换和比较运算中的特殊情况。 “`

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI