PHP 教程 - 第5课 - PHP 逻辑变量
好的,现在我们知道 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 会自己将逻辑类型和数字相加,所以不要担心类型不兼容。