首页 > 解决方案 > 如何从 If 语句中获取数组?

问题描述

我正在尝试检测输入字段中字符串长度的条件。我需要知道 if 语句满足哪些条件,然后将其/那些放在一个数组中以显示。这是我的代码:

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

标签: phparraysif-statement

解决方案


你可以使用foreach。

// define which keys of $post you want to check
// array value defines max length of value from $post[$key]
$keyToMaxLength = array(
    'first_name' => 25,
    'last_name' => 25,
    'email' => 40,
    'phone' => 15,
);
$lengthTooLong = array();
foreach($keyToMaxLength as $key => $maxLength) {    
    if(strlen($post[$key]) > $maxLength) {
        $lengthTooLong[] = $key; // or $post[$key]
    }
}
echo var_export($lengthTooLong, true); 

工作示例


推荐阅读