在这种情况下,函数内部是否需要返回false

时间:2014-05-05 04:21:02

标签: php

在我下面的php函数中,我在失败时返回错误消息。有必要我也回复假吗?因为我然后使用下面代码中的函数。

功能

function addThis($a) {
    global $msg;

    if($a == 1) {
        return true;
    } else {
        $msg = 'Error';
        //return false; -> Should I compulsorily be using return false here
    }
}

使用上述功能

如果它是假的,它可以正常工作并显示错误消息。但由于错误不是从函数中返回的,因此可能会出现问题吗?我应该在函数内强制使用return false吗?

if (addThis(12)) {
    echo 'Cool';
} else {
    echo $msg;
}

3 个答案:

答案 0 :(得分:2)

没有它就可以工作,但添加它不会受到伤害,并且肯定会被认为是更好的stye,因为它会使你的意图变得清晰,并且意味着该函数始终返回一个布尔值。

没有它的原因是,如果PHP在没有命中return语句的情况下到达函数的末尾(或者如果你说return;没有值),则认为该函数返回{ {1}}。当您随后在null语句中测试该值时,会将其强制转换为布尔值,并将其视为if,从而达到false子句。

答案 1 :(得分:0)

  

但是由于函数没有返回false,是否有可能出现问题?

不,它不会,只要功能定义与您在问题中显示的相同。由于else部分之后没有其他内容,因此在这种情况下不会出现任何问题。

但是,从函数中return被认为是最佳实践,然后在条件中使用它。

答案 2 :(得分:0)

实际上你提供的代码似乎没有问题;因为PHP思想宽广,并不介意这些可忽略的技术问题。但best practiceBoolean Function的{​​{1}}至少return

  

这样功能将双面执行;

True/False in any condition
   first:   will show a message "Error"
   second:  will return false (behind the screen) function-wise; and will eradicate the error possibility with other functions