如何在php中验证单个数组元素的长度?

时间:2015-08-12 19:15:17

标签: php

所以我有一个带有名为“vin []”的输入的html表单。输入是一个数组。这是因为我已经为用户提供了单击按钮的选项,并且在按钮单击时,我添加了名为“vin []”的输入的克隆。我这样做是因为我正在收集车辆的vin数量,用户需要选择包含多辆车辆。

所以我的问题是:在我的vin数字数组中,如何验证每个vin数字是否正好是17个字符?如果用户提供的所有vin都符合此标准,我只希望提交表单。

我知道我必须遍历我的数组,并告诉程序显示错误消息,如果任何一个vins不是17个字符,我想使用mail函数发送电子邮件,如果所有提供的vins是17个字符..这就是我到目前为止:

foreach ($_POST['vin']) as $vin_value ) {
if(strlen($vin_value) != 17) {
  echo "VIN is not 17 digits"; 
  echo "VIN is " . strlen($vin_value) . " digits";
  echo "VIN value is: " . $vin_value;
  } else {
mail($admin_email, "Auto Quote Request", $email_body);
echo "Thank you for contacting us!";
  }

  }

注意:与上述通知相反,此问题没有正确/相关的重复答案。这个问题的唯一正确答案就在这里。

1 个答案:

答案 0 :(得分:1)

计算好多少:

$ok = 0;
foreach(...) {
   if (strlen($vin_value) == 17) {
     $ok++;
   }
}
if ($ok == count($_POST['vin'])) {
   ... all of them are ok
}