PHP函数返回值,如何检查

时间:2012-01-16 12:29:20

标签: php oop

首先是一个简单的例子:

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) {}

...

这种情况是否有“最佳做法”?检查错误或使用实例。这种特殊方式会有什么后果吗?

感谢提前!

3 个答案:

答案 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 />";

?>