我不知道何時以及如何返回各種變量。考慮到我有一個條件語句和一個對象來驗證它。我是對的,這是作爲布爾值返回的。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