简单的好奇心,有什么办法可以将以下内容转换为切换循环?
PHP:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error = array('type' => 'error', 'value' => 'email');
}
elseif (!preg_match($regex_name, $username)) {
$error = array('type' => 'error', 'value' => 'username');
}
elseif (!preg_match($regex_name, $firstname) && preg_match($regex_name, $lastname)) {
$error = array('type' => 'error', 'value' => 'name');
}
elseif ($password !== $password_conf) {
$error = array('type' => 'error', 'value' => 'password');
}
elseif (checkdate($birthday_d, $birthday_m, $birthday_y) == false) {
$error = array('type' => 'error', 'value' => 'date');
}
else {
$error = array('type' => 'success');
}
谢谢。
答案 0 :(得分:3)
为完整起见,向开关转换的示例如下:
switch(true) {
case (!filter_var($email, FILTER_VALIDATE_EMAIL)):
$error = array('type' => 'error', 'value' => 'email');
break;
case (!preg_match($regex_name, $username)):
$error = array('type' => 'error', 'value' => 'username');
break;
//...
}
最后,这只是说if this is true
的一种复杂方式。