首先是一个简单的例子:
function doReturnSomething()
{
// some logic
if ($resultFromLogic) {
return Default_Model_Something;
}
return false;
}
如您所见,此函数返回模型或false。现在,让我们从其他地方调用此函数:
$something = doReturnSomething();
不,我想用if语句检查变量$ something。让我们说:
if (false !== $something) {}
或
if ($something instanceof Default_Model_Something) {}
或
...
这种情况是否有“最佳做法”?检查错误或使用实例。这种特殊方式会有什么后果吗?
感谢提前!
答案 0 :(得分:1)
根据返回的内容,你可以这样做:
if(doReturnSomething()) {}
返回对象时返回true(Default_Model_Something),返回false时返回false或返回null值。因为" 0"将评估为假。
答案 1 :(得分:1)
我认为从PHP 5.4起,在逻辑语句中威胁函数返回时会出现特殊注意错误。
好的实践是将函数的结果保存到变量,然后在任何逻辑语句中使用它。
答案 2 :(得分:-1)
<?php function my($a, $b ,$c){
$total = $a + $b - $c; return $total; }
$myNumber = 0;
echo "Before the function, myNumber = ". $myNumber ."<br />";
$myNumber = my(3, 4, 1); // Store the result of mySum in $myNumber
echo "After the function, myNumber = " . $myNumber ."<br />";
?>