Php 如何从If语句中获取数组?

Php 如何从If语句中获取数组?,php,arrays,if-statement,Php,Arrays,If Statement,我试图检测输入字段中字符串长度的条件。我需要知道if语句满足哪些条件,然后将这些条件放入数组中显示。这是我的密码: if(strlen($post['first_name']) > 25 || strlen($post['last_name']) > 25 || strlen($post['email']) > 40 || st

我试图检测输入字段中字符串长度的条件。我需要知道if语句满足哪些条件,然后将这些条件放入数组中显示。这是我的密码:

                if(strlen($post['first_name']) > 25
                    || strlen($post['last_name']) > 25
                    || strlen($post['email']) > 40
                    || strlen($post['phone']) > 15
                ){
                  $lengthTooLong = array();  
                  //do this
                }
这个怎么样

$lengthTooLong=array();
如果(strlen($post['first_name]]>25))$lengthTooLong['first_name]=$post['first_name'];
如果(strlen($post['last_name'])>25))$lengthTooLong['last_name']=$post['last_name'];
/*等等*/
如果(计数($lengthTooLong)==0)未设置$lengthTooLong;
这可以在不需要数组时将其删除。

您可以使用foreach

//定义要检查$post的哪些键
//数组值定义$post[$key]中值的最大长度
$keyToMaxLength=阵列(
“名字”=>25,
“姓氏”=>25,
“电子邮件”=>40,
“电话”=>15,
);
$lengthTooLong=array();
foreach($keyToMaxLength as$key=>$maxLength){
if(strlen($post[$key])>$maxLength){
$lengthTooLong[]=$key;//或$post[$key]
}
}
echo var_导出($lengthTooLong,true);

您可以尝试这样做

$lengthTooLong=array();
if(strlen($post['first_name']) > 25){
array_push($lengthTooLong, "first_name");
}
if(strlen($post['last_name']) > 25){
array_push($lengthTooLong, "last_name");
}
if(strlen($post['email']) > 40){
array_push($lengthTooLong, "email");
}
if(strlen($post['phone']) > 15){
array_push($lengthTooLong, "phone");
}
if(count($lengthTooLong>0){
   //do this
}