我编写了一个函数,它返回成功数据,失败时返回false。
我想知道这是否被认为是评估php中返回值的正确方法。
function data(){
if($all_is_good){
return $data
}else{
return false;
}
}
$data = data(); //basically either a long series of strings or arrays
if(!$data){ //<-- this is the line I'm concerned about, is it safe to assume this?
echo 'oh no, bad stuff happened';
}
非常感谢你!
答案 0 :(得分:4)
你有什么是好的,但也可以使用if($data === false) {
。这可确保$data
实际为false
,考虑0
,NULL
也被视为false
。
答案 1 :(得分:3)
这取决于$data
究竟是什么(它的类型和价值)。保持原样(如果$data
中的值的类型不确定)或明确检查(例如$data == false
或empty($data)
)是否合理是有道理的类型。这实际上取决于具体情况。
答案 2 :(得分:1)
除非$data
的有效值评估为false,否则它是安全的。一长串(即非空)系列的字符串或数组不会被评估为假,但它仍然是一个潜在的陷阱。
您可以考虑使用严格的比较:if(data===False)