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


How do I validate individual array elements for length in php?

所以我有一个html表单的输入名称为"vin[]"。输入是一个数组。这是因为我给了用户一个点击按钮的选项,在点击按钮时,我添加了一个名称为"vin[]"的输入克隆。我这样做是因为我正在收集车辆的vin号码,用户需要包含多个车辆的选项。

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

我知道我必须遍历我的数组,并告诉程序显示一个错误消息,如果任何vins不是17个字符,我想使用邮件函数发送电子邮件,如果所有提供的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!";
  }
  }

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

数一数有几个ok:

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