为什么在使用开关状态时该值显示两次


Why is the value is showing up twice when using switch statment

由于某种奇怪的原因,我的第一个case语句的值显示了两次,而没有switch语句时,它显示了一次。

例如,我将以下数组分配给$validationErrors

array(
[0] =>'Please select a Expiration Month'
[1] =>'Please select a Expiration Year'
['Name'] => 'This name is required'
['Phone'] => 'This Phone is required'
['Email'] => 'This Email is required'
['Credit Card Number'] => 'This Credit Card Number is required'
)

下面是我的前臂环,我正在使用。。。

  foreach ($validationErrors as $key => $error) {

  switch ($key) {
        case "Email":
            echo "email is empty!";
            break;

        case "Name":
            echo "Name is empty!";
            break;

    }

当我提交表格并返回错误数组时,我看到"电子邮件为空!电子邮件为空"然后"名称为空!"只显示一次。

你知道为什么会这样吗?任何帮助都将不胜感激!

开关使用松散类型的比较,而松散类型的0 == "Email"