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

如何在php中验证单个数组元素的长度?,php,Php,所以我有一个html表单,输入名为“vin[]”。输入是一个数组。这是因为我给了用户一个单击按钮的选项,在单击按钮时,我添加了一个名为“vin[]”的输入克隆。我这样做是因为我正在收集车辆的vin编号,用户需要包含多辆车辆的选项 所以我的问题是:在我的vin编号数组中,如何验证每个vin编号正好是17个字符?我只希望在用户提供的所有vin符合此标准时提交表单 我知道我必须遍历我的数组,并告诉程序显示一条错误消息,如果任何VIN不是17个字符,我想使用mail功能发送一封电子邮件,如果所有提供的V

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

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

我知道我必须遍历我的数组,并告诉程序显示一条错误消息,如果任何VIN不是17个字符,我想使用mail功能发送一封电子邮件,如果所有提供的VIN都是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 = 0;
foreach(...) {
   if (strlen($vin_value) == 17) {
     $ok++;
   }
}
if ($ok == count($_POST['vin'])) {
   ... all of them are ok
}