我對switch()
的理解是避免重複字符串。爲什麼switch()不支持regex?
如果是這樣,它爲什麼不支持正則表達式,如下面的代碼?還是我錯過了switch()
?
switch($username){
case "":
array_push($errors, "Username cannot be blank");
break;
case "admin":
array_push($errors, "Username cannot be 'admin'");
break;
case regex_switch('/xxx.*/'):
array_push($errors, "Username cannot begin 'xxx'");
break;
}
在'之開關的值與每個'case'值(即'($用戶名==' admin')'。你不能將一個值與一個正則表達式進行比較,你可以,但它會和你的函數返回的值進行比較,例如'($ username == regex_switch('/ xxx。* /'))' 。這就是'switch'es的工作原理。 –