[英]php variable assign as false value
class Email
{
var $to = false;
var $subject = false;
}
我是PHP的初学者。 我有一堂课Email
。 在该类中,我的变量$to
最初分配为false
。 它将分配给另一个变量中存储的值。 我不明白为什么这个变量有这个初始的false
值。
你能解释一下为什么吗
给变量赋一个默认值通常是一个好主意。 这样,如果在重新分配变量之前使用该变量,它将具有可预测的值。 false
和null
是有用的初始值,因为可以轻松地将它们与稍后将分配给变量的值区分开。
false
通常仅应用于将布尔值设置为true
/ false
变量。 对于其他变量,默认为null
是更好的选择。 但这主要只是样式选择,通常都可以。
最好初始化变量以提高可预测性。 例如:
foreach($stuff as $thing){
$myVar[]=$thing;
}
doSomething($myVar);
如果$stuff
为空(但希望仍然是数组),则$myVar
在循环后将不存在,因此doSomething()
将接收null
作为参数而不是array
,从而在错误日志中至少发出警告。
对于函数/方法,有类似的原因:
function myFunc($stuff){
$result=null;
if($stuff==true)
$result=array(1,2,3);
return $result;
}
这看起来不错,因为您已经像好学生一样初始化了$result
变量。 但是,如果$stuff!=true
,则$result
将为null
而不是array
。 这似乎没什么大问题,但是所有使用myFunc()
函数的代码现在都必须能够处理数组和空值(通常这意味着必须编写不必要的if()
子句进行类型检查)。
而如果myFunc()
始终返回数组(通过将$result
初始化为array()
则很容易实现),则您无需担心什么。
我有点回避了您的问题,但是希望这仍然可以帮助您理解概念。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.