我不知道何时以及如何返回各种变量。考虑到我有一个带有对象的条件语句,可以在其中进行验证。我是对的,它作为布尔值返回。
if($id = $oE->validate($_POST, $_FILES)){
...
}
我真正想要的是,如果有任何错误,则返回错误数组,否则它将返回更新内容的$ id。
如上所述,如果validate()对象返回任何值,它似乎返回一个布尔值?
答案 0 :(得分:1)
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
}
}