2011-04-27 130 views
0

我有一个函数,我试图在另一个函数内调用它。我没有做太多的PHP,所以请澄清我的问题。另一个函数内的PHP函数

public function user($user) 
{ 
if($user==''){ 
$this->logerror('not valid'); //this stores error in the db 
return false; 
} 
} 

我要调用一个主函数中的上述功能,如果我只是做这样

public function main($username, $email) { 
$this -> user($username); 
//more code here to do something only if the user name is not empty 
} 

如果我只是做这样的主要功能,它存储了错误说“无效“但功能仍在继续。我知道我没有返回任何东西,所以它没有任何东西,所以如果它不是有效的用户名,该如何停止该功能。

但如果我只是复制“用户”功能的内容,它工作正常,因为它返回false。我认为调用main中的函数用户会做同样的事情。

请指教。

问候

回答

2

正好赶上返回值,然后用它做什么

$result = $this->user($username); 
if ($result === false) { 
    return false; // or something else 
} else { 
    // Do something, if user() does not return 'false' 
} 
+1

的'用户()'方法应该被修改,如果有效,返回TRUE;为了一致的缘故 – Phil 2011-04-27 23:45:35

+1

好点。但是,我没有看到整个方法的任何理由,如果在'main()'中可以使用'if($ user!==''){/ *做一些事情* /} else {$ this-> logerror( '无效'); }'。 – KingCrunch 2011-04-27 23:47:06

+0

@kingcrunch,感谢您的快速回复,我厌倦了您所说的,并且工作得很好。谢谢。我通过将它分配给一个变量来做到这一点,但是在单独的函数“user”中检查条件的目的是什么?如果($ result == false)只能返回false,那么它的目的是什么?什么可以是别的?我可以回应一些吗?对不起,我发布的时间有评论。将阅读这些。 – geej 2011-04-27 23:58:26