【发布时间】:2018-01-04 08:06:07
【问题描述】:
我创建了一个 PHP 函数来测试 $var exist and is not empty 是否。
但是,但是我有一个我无法识别的问题:
- 在我的 foreach 中,return false 被忽略,因为另一个“return”首先返回。
看:
function notEmpty($var, $r=false){
if(gettype($var)=='string' OR gettype($var)=='integer'){
if($r==false){
if(isset($var) AND @!empty($var)){
return true;
}else{return false;}
}else{
if(!isset($var) AND @empty($var)){
return false;
}
}
}elseif(gettype($var)=='array'){
foreach($var as $val){
if(gettype($val)=='array'){
notEmpty($val, true);
}else{
if(empty($val) OR $val==''){echo "string";
return false;
}
}
}
return true;
}else{return null;}
}
我将我的函数称为:
- notEmpty(array($val1, $val2, $val3));
【问题讨论】:
-
$r在该代码中的含义是什么?您最好为变量使用自我解释的名称。 -
您需要对
notEmpty()的inner 调用的返回值做出反应。目前你完全忽略它。 -
你的 if(empty($val) OR $val=='') 条件是多余的
-
@alpadev 这里的大部分内容都是多余的