[英]How can I get an array from an If statement?
我正在嘗試檢測輸入字段中字符串長度的條件。 我需要知道 if 語句滿足哪些條件,然后將其/那些放在一個數組中以顯示。 這是我的代碼:
if(strlen($post['first_name']) > 25
|| strlen($post['last_name']) > 25
|| strlen($post['email']) > 40
|| strlen($post['phone']) > 15
){
$lengthTooLong = array();
//do this
}
你可以使用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);
這個怎么樣?
$lengthTooLong = array();
if (strlen($post['first_name'])>25)) $lengthTooLong['first_name'] = $post['first_name'];
if (strlen($post['last_name'])>25)) $lengthTooLong['last_name'] = $post['last_name'];
/* etcetera */
if (count($lengthTooLong) == 0) unset $lengthTooLong;
當不需要時,它會擺脫你的數組。
你可以嘗試這樣做
$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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.