嘿伙计们真的很快问题,我有一个简单的测试,我正在做的是证明一点,它不能像我预期的那样工作,但我不确定为什么它不起作用。
function test(){
echo 'test';
}
if (test()){
echo 'ok';
}
那是我的考验。 'ok'没有回应,我不知道为什么。我正在测试这个,因为我的真实代码是调用类方法而且也没有用。
if($database->addNewUser($user, md5($pass), $userfile, $email, $age)){
return 0; //New user added succesfully
}
addNewUser方法执行并执行它应该做的事情,但返回0;才不是。有人对此有任何了解吗?
答案 0 :(得分:7)
因为你的测试功能是ECHOING没有返回..
function test(){
return true; // what to send back
}
if (test()){ // true was sent back, so.
echo 'ok';
}
将回复'ok'。
查看$ database-> addNewUser() - 返回什么?
答案 1 :(得分:1)
您的函数test()
不会返回任何值。 PHP将缺少值视为false,因此永远不会执行if
块的主体。
使用完整的示例,问题是addNewUser
没有返回值,或者返回错误值。
答案 2 :(得分:1)
你需要返回一些东西来表示成功。这些都可以起作用:
function test(){
echo 'test';
return TRUE;
}
或者,不太理想,但仍应该有效:
function test(){
echo 'test';
return 1;
}
答案 3 :(得分:0)
您的功能不会返回true。为什么你会期待“好”被回应?
答案 4 :(得分:0)
您的test()
函数没有return
一个值 - 我不希望这会起作用。尝试从中返回一些内容,例如TRUE
。