这是来自ADO DB的代码。如您所见,false
已分配给变量$false
。
$false = false;
if ($rows === false) {
return $false;
}
if (!class_exists($class)) {
$db->outp_throw("Unknown class $class in GetActiveRecordsClass()",'GetActiveRecordsClass');
return $false;
}
为什么他们这样做?
对于将我的问题标记为“主要基于意见”的人:我只是在寻找更多“编程”理由。我不是那个经验丰富的程序员,我不知道很多关于PHP的东西。
有没有办法,例如,FALSE是一个对象,当你把它分配给一个变量并保存它的值时,PHP会在内存中创建空间,并且可以重复使用多次。因为我听说过某些语言“布尔”是对象。 (Python,Ruby等......)
让$false = false;
做某种优化或其他事情。
答案 0 :(得分:4)
不,没有优势。
新手程序员经常过于复杂化他们的代码 最有可能是这种情况。
" Cargo cult programmers"他们之间往往会产生奇怪的习惯和迷信,因为他们不是通过理解而是通过榜样来学习。 PHP用户特别容易出现这种习惯。比如,经常看到尝试访问数组值的失败:
$array['$key'];
因为他们将引号作为数组语法的一部分。此外,几乎在任何地方都可以找到include
后跟一对括号。
另一个很好的例子是mysql_real_escape_string
与mysqli(!)预处理语句一起使用。
所以,我确信这是同类的。假设人们相信只能返回变量 - 因此,他们会创建一个变量,仅用于返回。
答案 1 :(得分:2)
我唯一想到的是,如果你希望这个函数返回不同于boolean false的值(例如,你希望它返回一个字符串{{}},你可以用其他赋值替换$false = false;
{1}}然后你会做'error'
)
但这是一个愚蠢的想法。
答案 2 :(得分:0)
它没有意义,也不需要。无论如何,我的理论是程序员沉迷于PowerShell。在PowerShell中,使用$true
/ $false
是很常见的。请参阅Understanding Booleans in PowerShell和Boolean Values and Operators。