2

为什么使用if语句来确定函数是否应该返回 true 或 false 不起作用?True 有效,但 false 无效。

这是我的代码:

function test($var){
    if($var == "string"){
        return true;
    }else{
        return false;
    }
}

做: 按应有的方式echo test("string");返回,true但使用echo test("hello");应该返回false,但什么也不返回,为什么?

应该使用什么来代替返回 true/false 与标准?

4

4 回答 4

5

好吧,它确实对我有用

使用 :

function test($var){
    if($var == "string"){
        return true;
    }else{
        return false;
    }
}

echo "string:";
var_dump(test("string"));
echo "hello:";
var_dump(test("hello"));

导致输出

字符串:布尔(真)
你好:布尔(假)

当你想看到某些东西的输出时,总是使用var_dump()as false 直接回显时不会产生任何输出。

于 2013-04-11T21:20:27.820 回答
2
var_dump(test("hello"));

欺骗性地回显假不会产生任何输出。试试var_dump吧;它会告诉你真正的价值。

bool(false)
于 2013-04-11T21:19:00.310 回答
2

我看不出您的代码不起作用的原因,但这会更短:

function test($var) {
    return ($var == "string");
}
于 2013-04-11T21:20:25.883 回答
0

您的代码很危险——这意味着可能是错误的。

使用 === 而不是 ==

if ($var === "string") { ...

阅读文档;)

于 2014-10-11T21:00:58.697 回答