这是来自ADO数据库的代码。如您所见,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;
是某种优化或其他什么。
不,没有优势。
新手程序员经常毫无理由地过度复杂化他们的代码
很可能是这样。
"货运狂热程序员"经常在他们之间养成奇怪的习惯和迷信,因为他们不是通过理解而是通过榜样来学习。PHP用户特别是容易有这种习惯。例如,访问数组值的失败尝试经常出现:
$array['$key'];
因为它们将引号作为数组语法的一部分。此外,include
后面跟着一对大括号几乎随处可见。
另一个出色的例子是与mysqli(!)准备的语句一起使用的mysql_real_escape_string
。
所以,我相信这是同类的。假设一个人相信只有变量可以返回,那么,他们会创建一个变量,用于返回的唯一目的。
我唯一想到的是,如果你想让这个函数返回不同于布尔false的值,你可以用其他赋值来替换$false = false;
(比如说,你想让它返回一个字符串'error'
,那么你就做$false = 'error';
)
不过,这是个愚蠢的主意。
它没有意义,也不需要。无论如何,我的理论是程序员沉迷于PowerShell。在PowerShell中,使用$true
/$false
非常常见。请参阅了解PowerShell中的布尔值以及布尔值和运算符。