logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动

PHP课程 - 第5课 - PHP 布尔变量(逻辑变量)

09/10/2025, by Ivan

现在我们已经知道,在 PHP 中存在数字和字符串。但这还不是全部,本课我们将学习另一种类型的变量 —— 布尔变量(逻辑变量)。它们之所以被称为逻辑变量,是因为它们用于构建程序逻辑。

例如,假设有一个装水的杯子。如果水太少,你喝不够;如果水太多,当你倾斜杯子时水就会洒出来。所以需要根据水量决定是加水还是倒掉一部分水。

这个逻辑可以这样表示:

$количество_воды_в_стакане = 100;
$мало_воды = ПРАВДА;
ЕСЛИ $мало_воды
ТО $количество_воды_в_стакане = $количество_воды_в_стакане + 20;

在这个例子中,变量 $мало_воды 是一个逻辑变量,它只能取两个值:TRUE(真)FALSE(假)。仅此而已。上面的代码还不是 PHP 代码,如果直接放进 PHP 文件,Apache 会报错。正确的 PHP 代码如下:

<?php
$water = 100;
$not_enough_water = TRUE;
if($not_enough_water){
  $water = $water + 20;
}
?>

关于 if 条件语句我们将在后续课程中详细讲解。现在先来看 TRUE 和 FALSE。通常除了 TRUE 和 FALSE 外,还可以使用 10。但为什么我们还要专门使用 TRUE 和 FALSE 呢?这其实是为了节省内存。

还记得我们之前提到的吗?整型变量比浮点型变量占用的内存少一半。而布尔型变量(TRUE 或 FALSE)在内存中的占用更少 —— 仅为整型变量的四分之一,也是 浮点型变量的八分之一。因此,在可以使用布尔值的地方,优先使用 TRUE 或 FALSE。

也许你会问:“这点内存节省有意义吗?我的服务器有 8GB 内存呢!” 那我们来举个例子:

假设一个网站有 1000 个整型变量,这些变量完全可以用布尔变量代替。整型变量共占用 4MB 内存,而布尔变量只需 1MB。再假设有 100 个用户同时访问网站,这意味着整型变量将占用约 400MB,而布尔变量仅需 100MB。差距就是 300MB。虽然这是个简化的假设,但原理非常清楚 —— 布尔变量可以有效节省资源

最后,再来看一下布尔变量在 PHP 中如何自动转换为整型:

<?php
$var1 = TRUE;
$var2 = TRUE + 1;
echo $var2;
?>

输出结果为 2。也就是说,PHP 会自动将布尔值与数字进行运算,不必担心类型不兼容的问题。