我不知道何时以及如何返回各种变量。考虑到我有一个条件语句和一个对象来验证它。我是对的,这是作为布尔值返回的。object返回布尔值内部如果子句
if($id = $oE->validate($_POST, $_FILES)){
...
}
我真正想要的是,如果有任何错误,这返回错误的数组,否则将返回更新内容的$ id。
上面这个,它似乎返回一个布尔值,如果任何值都由validate()对象返回?
我不知道何时以及如何返回各种变量。考虑到我有一个条件语句和一个对象来验证它。我是对的,这是作为布尔值返回的。object返回布尔值内部如果子句
if($id = $oE->validate($_POST, $_FILES)){
...
}
我真正想要的是,如果有任何错误,这返回错误的数组,否则将返回更新内容的$ id。
上面这个,它似乎返回一个布尔值,如果任何值都由validate()对象返回?
PHP将任何非零值解释为true。你需要的是传递一个包含任何错误代码的引用,并获得该函数在失败时返回false或成功时返回id。即:
class Validator()
{
function validate($post,$files,$errorRef)
{
//Your code here
if ($success)
{
return $id;
}
else
{
$errorRef = $errorCode;
return false;
}
}
}
//
$oE = new Validator;
$error = NULL;
$id = $oE->validate($_POST,$_FILES,&$error);
if ($id !== false) //If validator did not return false
{
//Stuff happens
}
else
{
switch ($error)
{
//Error Handling Stuff
}
}
validate()返回什么?布尔还是混合? – 2010-09-23 05:17:50
validate返回$ id = 315(无论),或者它返回$ error = array('error'=> etc etc等等) – kalpaitch 2010-09-23 05:27:27