logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

PHP课程 - 第6课 - PHP 运算符

09/10/2025, by Ivan

我们已经学习了字符串和数字变量,并且知道数字变量可以分为整数、小数和布尔类型。现在是时候学习如何对这些变量进行操作、修改和组合了。

下面的表格展示了各种 PHP 运算符 的用法。

PHP 算术运算符

运算符 说明 示例 结果
+ 加法 x=2
x+2
4
- 减法 x=2
5-x
3
* 乘法 x=4
x*5
20
/ 除法 15/5
5/2
3
2.5
% 取余(模运算) 5%2
10%8
10%2
1
2
0
++ 自增(加 1) x=5
x++
x=6
-- 自减(减 1) x=5
x--
x=4

加法示例

<?php
$x = 1;
$y = 2;
$z = $x + $y;
print $z;
?>

输出结果为 3。非常简单。

减法示例

<?php
$x = 2;
$y = 6;
$z = $y - $x;
print $z;
?>

输出结果为 4

乘法示例

<?php
$x = 3;
$y = 4;
$z = $x * $y;
print $z;
?>

结果为 12

除法示例

<?php
$x = 26;
$y = 2;
$z = $x / $y;
print $z;
?>

输出结果为 13

取余(模)运算

<?php
$x = 10;
$y = $x % 3;
print $y;
?>

输出 1。这个运算返回的是“除法的余数”。

来看一个稍微复杂的例子,用模运算计算当前时间:

<?php
$time = time();                  // 当前时间(自 Unix 纪元起的秒数)
$hours = $time % 86400;          // 当前天的秒数
$hours = floor($hours / 3600);   // 取整小时数
$minutes = $time % 3600;         // 当前小时内的秒数
$minutes = floor($minutes / 60); // 转换为分钟
$seconds = $time % 60;           // 当前秒数
print $hours . ':' . $minutes . ':' . $seconds;
?>

这段代码会输出服务器当前时间。函数 floor() 返回浮点数的整数部分。

什么是 Unix 时间(Unix Epoch / POSIX time)?
Unix 时间是从 1970 年 1 月 1 日 00:00:00 UTC 开始的秒数计时方式。这种方式简洁、节省存储空间(4 或 8 字节),并且方便计算日期差或比较时间。

自增运算符 (++):

<?php
$x = 1;
$y = 1;
$x++;
$y = $y + 1;
print 'x=' . $x . '<br>';
print 'y=' . $y;
?>

输出结果:x=2, y=2。

自减运算符 (--):

<?php
$x = 4;
$y = 4;
$x--;
$y = $y - 1;
print 'x=' . $x . '<br>';
print 'y=' . $y;
?>

结果:x=3, y=3。

PHP 赋值运算符

运算符 示例 等价于
=x=yx=y
+=x+=yx=x+y
-=x-=yx=x-y
*=x*=yx=x*y
/=x/=yx=x/y
.=x.=yx=x.y(字符串拼接)
%=x%=yx=x%y

这些是算术运算的简写形式。

PHP 比较运算符

运算符 说明 示例
==等于5==8 → false
!=不等于5!=8 → true
<>不等于5<>8 → true
>大于5>8 → false
<小于5<8 → true
>=大于等于5>=8 → false
<=小于等于5<=8 → true

我们会在讲解条件语句和循环语句时更详细地学习这些比较运算符。

PHP 逻辑运算符

运算符 说明 示例
&& 与(AND) x=6
y=3
(x<10 && y>1) → true
|| 或(OR) x=6
y=3
(x==5 || y==5) → false
! 非(NOT) x=6
y=3
!(x==y) → true