PHP 运算符2025 年 3 月 27 日 | 阅读 15 分钟 PHP 支持多种运算,如算术运算、逻辑运算、位运算、执行运算等。与其他编程语言一样,PHP 包含各种类型的运算符来执行这些运算。 PHP 运算符是用于在操作数上执行运算的符号。简单来说,运算符用于对变量或值执行运算。例如: 在上面的示例中,+ 是二元 + 运算符,10 和 20 是操作数,$num 是变量。评估后,输出将是 30。 PHP 运算符可分为以下几种形式: 我们也可以根据操作数对运算符进行分类。它们可以分为 3 种形式:
算术运算符PHP 算术运算符用于对数值执行常见的算术运算,如加法、减法等。
注意:幂运算符 (**) 已在 PHP 5.6 中引入。让我们通过一个例子来更好地理解所有算术运算符。 示例立即执行输出 Addition is: 16 Subtraction is: 8 Multiplication is 48 Division is: 3 Modulus is: 0 Exponentiation is: 20736 赋值运算符赋值运算符用于为不同变量赋值。基本赋值运算符是 "="。
让我们通过一个例子来理解所有赋值运算符的任务。 示例立即执行输出 Addition is: 36 Result of Add and Assignment Operators: 60 Result of Subtract and Assignment Operators: 36 Result of Multiply and Assignment Operators: 864 Result of Division and Assignment Operators: 36 Result of Modulus and Assignment Operators: 12 按位运算符位运算符用于对操作数执行位级操作。这些运算符允许对整数内的特定位进行求值和操作。
让我们通过每个运算符的示例来更好地理解位运算符。 1. 位与 &(AND)这是一个二元运算符,它作用于两个操作数。此运算符接受两个数字作为操作数,并对每一位应用 AND。如果两个数字的位都为 1,则 AND (&) 的结果为 1。 & 的语法 示例立即执行输出 2 说明 6 的二进制表示是 110,3 的二进制表示是 011。因此,它们的按位 & 将是 010。此处,变量 $x 的输入是 6,第二个输入变量 $y 是 3。因此,两个数字的按位 & 的输出将是 2。 2. 位或 |它也作用于两个操作数,通过将两个数字作为操作数并对两个数字的每一位应用 OR。如果给定的两位中任何一位为 1,则按位 OR 的结果为 1,否则为 0。 语法 示例立即执行输出 7 说明 计算 6 和 3 的二进制表示后,结果将是 111。数字的二进制系统是基数 2,这意味着每个数字代表 2 的幂。 二进制数字 111 的十进制表示 二进制数字中的每个位置都代表 2 的幂,并从右侧的第 0 位开始。 1 1 1 (2²) (2¹) (2⁰) ← 2 的幂 让我们看看十进制值: (1 × 2²) + (1 × 2¹) + (1 × 2⁰) = (1 × 4) + (1 × 2) + (1 × 1) = 4 + 2 + 1 = 7 3. (按位异或) ^这同样是一个二元运算符,作用于两个操作数,也称为异或运算符。它接受两个数字作为操作数,并对给定两个数字的每一位应用 XOR。如果给定的两位都不同,则按位 XOR 的结果为 1。 语法 示例立即执行输出 5 说明 计算 6 和 3 的二进制表示后,结果的十进制值为 5。因为,当每个位不同时,XOR 给出 1,类似地,当位相同时,它给出 0。 4. (按位非) ~这被称为一元运算符,它只作用于一个操作数。此运算符接受一个数字并反转其所有位。非运算符用波浪号("~")表示。 语法 其中,num 代表用户输入的数字。 例如,10 变成 01,01 变成 10。 示例立即执行输出 -6 说明 5 的二进制表示将是 00000101,应用 ~ 后将是 11111010,翻转所有位。因此,输出将是 -6。这在十进制表示中类似于 -(n + 1)。 5. 按位左移 <<这也称为二元运算符,它作用于两个操作数。此运算符接受两个数字作为输入,并将第一个数字的位左移,第二个数字指示移位的位数。 语法 示例立即执行输出 48 说明 在上面的示例中,$FirstNum 的值是 6,第二个数字的值是 3。现在,执行左移操作。因此,6 乘以 2 三次。因此,我们将得到输出 6 x 2 x 2 x 2 = 48。 6. 按位右移 >>它也被称为二元运算符,它作用于两个操作数。它接受两个数字并执行右移操作。它将第一个数字的位右移,第二个数字指示移位的位数。 语法 示例立即执行输出 0 说明 在上面的示例中,$FirstNum 的值是 6,$SecondNum 的值是 3。然后执行按位右移操作。因此,6 除以 2 三次。因此,我们得到 24/2=12,12/2=6,6/2=3。最后,当我们执行最后一次除法时,商是 3,这是准确的输出。 比较运算符比较运算符允许比较两个值,例如数字或字符串。下面给出了比较运算符的列表:
让我们通过一个例子来理解所有比较运算符的任务。 示例立即执行输出 Case 1 : FirstNum is not equal to SecondNum Case 2 : FirstNum is greater than SecondNum Case 3 : FirstNum is not less than SecondNum Case 4 : FirstNum is not equal to SecondNum Case 5 : FirstNum is either greater than or equal to SecondNum Case 6 : FirstNum is neither less than nor equal to SecondNum 说明 在此 PHP 比较代码中,使用关系运算符(==、!=、>、<、>=、<=)比较两个数字 $FirstNum = 6 和 $SecondNum = 3。它检查相等性、不等性、大于、小于,并根据给定输入打印输出。 递增/递减运算符递增和递减运算符用于增加和减少变量的值。这两个运算符都是一元的,因为它们只作用于一个操作数。这些运算符用于表示前缀或后缀表达式。
语法 示例立即执行输出 a = 7, b = 6 a = 7, b = 7 a = 2, b = 3 a = 2, b = 2 说明 后缀和前缀运算符在表达式中的作用不同。
在第一个代码示例中,$a++ 在 $a 增加到 7 之前将原始值 (6) 分配给 $b,而 ++$a 先增加 $a,然后将 7 分配给 $b。类似地,对于递减运算符,$a-- 在 $a 减少到 2 之前将 3 分配给 $b,而 --$a 先减少 $a,然后将 2 分配给 $b。 逻辑运算符逻辑运算符用于对操作数执行位级操作。这些运算符允许对整数内的特定位进行求值和操作。
示例立即执行输出 CASE 1 : Both a and b are true CASE 2 : Both a and b are true CASE 3 : Either a or b is true CASE 4 : Either a or b is true CASE 5 : a is false CASE 6 : Either a or b is true, but not both 字符串运算符字符串运算符用于对字符串执行操作。您可以使用 PHP 中的连接运算符(".")将两个或多个字符串连接起来,如下所示:
示例立即执行输出 Tpoint Tech! Tpoint Tech! 数组运算符数组运算符用于数组。基本上,这些运算符用于比较数组的值。
示例立即执行输出 array(4) { ["k"]=> string(9) "Aeroplane" ["l"]=> string(6) "Scooty" ["a"]=> string(10) "Helicopter" ["b"]=> string(4) "Ship" } bool(false) bool(true) bool(true) bool(false) bool(true) 类型运算符类型运算符 instanceof 用于确定对象、其父类及其派生类是否为同一类型。基本上,此运算符确定对象属于哪个特定类。它用于面向对象编程。 示例立即执行输出 Charu is a developer. bool(true) bool(false) 执行运算符PHP 有一个执行运算符 **反引号 (``)**。PHP 将反引号中的内容作为 shell 命令执行。执行运算符和 **shell_exec()** 产生相同的结果。
示例立即执行输出 script.php 注意:请注意,反引号 (``) 不是单引号。将此代码保存为 list.php(或任何其他文件名)扩展名,保存在 XAMPP htdocs 文件中,该文件位于您的系统中。在 XAMPP 中启动 Apache 服务器,打开浏览器并输入 https:///list.php 以访问所有 .php 文件。您也可以在 CLI 中运行此代码。 错误控制运算符PHP 有一个错误控制运算符,即 **at (@) 符号**。每当将其与表达式一起使用时,该表达式可能生成的任何错误消息都将被忽略。
示例立即执行输出 Warning: fopen(nosuchfile.txt): Failed to open stream: No such file or directory in /tmp/yvAKbq8hXk/main.php on line 2 Hello World 在 fopen() 表达式中包含 @ 符号会隐藏错误消息,并且该语句也会被忽略。 示例立即执行输出 Hello World PHP 运算符优先级让我们看看 PHP 运算符的优先级及其结合性。
示例立即执行输出 Result: 51 说明 *(乘法)和 /(除法)具有相同的优先级,它们从左到右计算 16 * 8 = 128,然后 128 / 4 = 32。 %(模)与乘法和除法具有相同的优先级:9 % 4 = 1 现在,将执行加法和减法部分:20 + 32 = 52,然后 52 - 1 = 51。 下一主题PHP 注释 |
我们请求您订阅我们的新闻通讯以获取最新更新。