這讓我難住了一段時間... 我被教過PHP中的switch語句只使用「break」關鍵字來打破switch語句的電路。 而不是使用多個if語句,爲了保持乾淨,我使用了switch語句(驗證用戶名/密碼) 這是代碼。PHP - switch語句,在任何情況下都不會中斷
代碼:
switch(true){
case($passwords[$key] != $password):
echo "The username and/or password is incorrect<br>";
case(strlen($username) < 4 || strlen($username) > 10):
echo "The username must be between 4-10 characters<br>";
case(strlen($password) < 4):
echo "The password must be at least 4 characters<br>";
case(1>2):
echo $username . " " . $password . " " . strlen($username) . " " . strlen($password);
break;
default:
echo "Login Success<br>";
}
如果我輸入: 用戶名:凱爾 密碼:foobar的
我希望只有輸出「的用戶名和/或密碼不正確
」,因爲這是隻有真實的條件... 然而,直到突破的一切似乎評估爲真,輸出一切,但默認,即使(1> 2)顯然是錯誤的...
非常感謝幫助。 謝謝!
爲什麼只要使用條件就可以運行一個開關...... if {else else} { – Option
一旦case被評估爲true,下面的每個語句都會被處理,直到找到break或者switch結束。 – solarc
作爲一個C人 - 這是否運行沒有警告?多個案例開關將以相同的真/假值解析 –