从函数返回并回显我的数组

时间:2013-11-06 13:49:33

标签: php error-handling

我有一个函数,如果一个值成功返回一个值,或者它返回一个错误数组。请参阅下面的部分内容。

function uploadEmploymentDoc($var, $var2){

$ERROR = array();

if(empty($_FILES['file']['tmp_name'])){
$ERROR[] = "You must upload a file!";
}

//find the extensions
$doctypeq = mysql_query("SELECT * FROM `DocType` WHERE `DocMimeType` = '$fileType'");
$doctype = mysql_fetch_array($doctypeq);
$docnum = mysql_num_rows($doctypeq);
if($docnum == 0){
$ERROR[] = "Unsupported file type"; 
}

if(empty($ERROR)){
// run my code
return $var;
} else{
return $ERROR;
}

然后我运行我的代码

$result =  uploadEmploymentDoc(1, 2);

if($result !=array()){
// run code
} else {
   foreach($result as $er){
   echo $er."<br>";
   }
}

现在我的问题是这个。为什么我的函数运行我的代码并且在上传不支持的文档类型时没有显示错误。我正确定义了foreach循环吗?出于某种原因,我无法回复我的错误。

2 个答案:

答案 0 :(得分:3)

你应该这样写 -

if(is_array($result)){
   foreach($result as $er){
    echo $er."<br>";
   }
} else {
  //your code for handling error
}

您可以获得更多信息:http://us2.php.net/is_array

答案 1 :(得分:0)

尝试使用

$result =  uploadEmploymentDoc(1, 2);
if(!is_array($result)){
    // run code
} else {
   foreach($result as $er){
       echo $er."<br>";
   }
}

通过引用errors数组的函数可能会更好地添加参数。从函数返回“false”如果错误和值,如果没有错误发生。