📘 PHP 运算符详解:小白也能看懂的入门指南

35 阅读2分钟

📘 PHP 运算符详解:小白也能看懂的入门指南


🧠 一、什么是运算符?

运算符是 对数据进行操作的符号,比如加减乘除、比较、逻辑判断等。PHP 中有很多类型的运算符,它们帮助我们完成各种任务。


🧮 二、常见运算符分类

我们来按类型分类讲解,并给出通俗易懂的例子。


🔢 1. 算术运算符(加减乘除)

操作符名称示例
+加法5 + 3 = 8
-减法5 - 3 = 2
*乘法5 * 3 = 15
/除法5 / 2 = 2.5
%取模5 % 2 = 1(取余数)

💡 说明:这些是最基础的数学运算符,和我们在数学课上学的一样。


🔁 2. 递增递减运算符

操作符作用示例
++$a先加 1,再返回值$a = 5; echo ++$a; // 输出 6
$a++先返回值,再加 1$a = 5; echo $a++; // 输出 5,之后 $a 变为 6
--$a先减 1,再返回值$a = 5; echo --$a; // 输出 4
$a--先返回值,再减 1$a = 5; echo $a--; // 输出 5,之后 $a 变为 4

💡 说明:适用于循环、计数器等场景。


🔤 3. 字符串运算符

操作符作用示例
.字符串连接'Hello' . ' World' = 'Hello World'
.=字符串追加
$a = 'Hello';
$a .= ' World'; // $a = 'Hello World'

💡 说明:用于拼接字符串。


🧮 4. 位运算符(重点讲解)

位运算符操作的是 二进制位,效率高,常用于底层开发、权限控制等。

操作符名称说明示例
&按位与两个位都为 1 才为 110 & 4 = 0
``按位或有一个为 1 就为 1`104 = 14`
^按位异或不同为 1,相同为 010 ^ 4 = 14
~按位取反0 变 1,1 变 0~10 = -11(补码)
<<左移乘以 2 的 n 次方10 << 4 = 160
>>右移除以 2 的 n 次方10 >> 1 = 5

🧠 示例讲解:$a = 10; $b = 4;

  • $a = 10 → 二进制:1010
  • $b = 4 → 二进制:0100
& 按位与:
  1010
& 0100
= 0000  0
<< 左移:
10 << 4 → 10 * 2^4 = 10 * 16 = 160

🧠 5. 逻辑运算符

操作符名称说明示例
&&逻辑与两个都为 true 才为 truetrue && false = false
``逻辑或`逻辑或
!逻辑非取反!true = false
and同 &&优先级更低$a and $b
or同 ``
xor异或一个为 true,另一个为 false 才为 truetrue xor true = false

💡 注意&&and||or 功能一样,但优先级不同,建议使用 &&||


⚠️ 6. 错误控制运算符 @

操作符说明示例
@抑制错误信息$value = @file('not-exists.txt');

💡 注意

  • 仅对表达式有效,比如函数调用、变量赋值。
  • 不推荐滥用,会影响调试。
  • PHP 8.0 之后,error_reporting() 不再返回 0。

🧩 7. 类型运算符

操作符说明示例
instanceof判断一个变量是否是某个类的实例
$obj = new MyClass();
if ($obj instanceof MyClass) {
    echo "是 MyClass 的实例";
}

💡 用途:面向对象编程中用于判断对象类型。


📌 三、运算符优先级(重要!)

优先级运算符(从高到低)
1++ -- ! ~ (int) (float)
2* / %
3+ - .
4<< >>
5< <= > >=
6== != === !==
7&
8^
9``
10&&
11`
12? :(三元运算符)
13= += -= 等赋值运算符
14and
15xor
16or

💡 建议:使用括号 () 来明确优先级,避免歧义。


🧪 四、练习题(动手练一练)

  1. $a = 6; $b = 3; echo $a & $b; → 输出?(答案:2)
  2. $a = 10; echo $a << 2; → 输出?(答案:40)
  3. $a = true; $b = false; echo ($a || $b) ? 'true' : 'false'; → 输出?(答案:true)
  4. $a = 5; echo ++$a + $a++; → 输出?(答案:12)

✅ 五、总结表格(一目了然)

类型常见操作符用途
算术+ - * / %基础数学运算
递增/递减++$a $a++ --$a $a--控制变量增减
字符串. .=拼接字符串
位运算`&^ ~ << >>`操作二进制位
逻辑`&&
错误控制@抑制错误信息
类型判断instanceof判断对象类型