logo

Palette - 让它色彩缤纷🎨

Palette — 可视化页面构建器,无需专业设计背景。

在线演示 下载 Palette

滚动

PHP 教程 - 第5课 - PHP 逻辑变量

09/10/2025, by Ivan

好的,现在我们知道 PHP 中有数字和字符串。但这还远远不够,在这堂课中我们将考虑另一种类型的变量,即逻辑变量。之所以称为逻辑变量是因为它们用于构建我们代码的逻辑。假设有某种情况,在不同的条件下需要执行不同的操作。你有一杯装着水的杯子,你想从中喝水,但如果水太少,你喝不到,如果水太多,当你倾斜杯子时水会洒到你身上。因此需要根据杯子中的水量来添加或倒出一些水。

这可以表示如下:

$water_in_glass = 100;
$not_enough_water = TRUE;
IF $not_enough_water
THEN $water_in_glass = $water_in_glass + 20;

在这种情况下,变量 $not_enough_water 是一个逻辑变量,可以取值 TRUE(真)或 FALSE(假)。别无其他。上面的代码不是 PHP,如果将其插入 PHP 文件中,Apache 将输出错误,所以类似的 PHP 代码是:

$water = 100;
$not_enough_water = TRUE;
if($not_enough_water){
  $water = $water + 20;
}

稍后我们会讨论条件语句 if,现在让我们回到 TRUE 和 FALSE。通常除了 TRUE 和 FALSE 之外,人们还使用 1 和 0。那么为什么要单独使用 TRUE 和 FALSE 并使事情变得复杂呢?记住我说过带有整数的变量占用的内存比带有分数的变量少两倍。那么 逻辑变量(TRUE 或 FALSE)占用的内存 比整数少 4 倍比分数少 8 倍。因此最好在可能的地方使用 TRUE 或 FALSE。

也许你现在想知道,这些内存比特有什么用,我的服务器有 8 GB 的 RAM。现在让我们想象一下,我们有一个网站有 1000 个可以替换为逻辑变量的整数变量。结果是在每次网站请求时,仅这些变量就消耗 4 MB 的内存。使用逻辑变量时只需要 1 MB。现在让我们想象 100 个用户同时请求网站。结果是整数变量需要 400 MB,而使用逻辑变量只需要 100 MB。差异是 300 MB。当然,这个例子是简化的,但我想你理解这个原理。

 

还有关于逻辑变量如何变成整数的问题。

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

结果将是 2,即 PHP 会自己将逻辑类型和数字相加,所以不要担心类型不兼容。