这让我难倒了一会儿...... 我在PHP中教过switch语句只使用“break”关键字来打破switch语句的电路。 我没有使用多个if语句来保持干净,而是使用了switch语句(用于验证用户名/密码) 这是代码。
代码:
The Eclipse Installer executable launcher was unable to locate its companion shared library.
如果我输入: 用户名:凯尔 密码:foobar
我只希望输出“用户名和/或密码不正确”,因为这是唯一的真实情况...... 然而,直到休息的所有内容似乎都评估为真,输出除了默认值之外的所有内容,即使(1> 2)显然是错误的......
非常感谢帮助。 谢谢!
答案 0 :(得分:3)
你必须在每种情况下都添加一个休息时间:
case($passwords[$key] != $password):
echo "The username and/or password is incorrect<br>";
break;
case(strlen($username) < 4 || strlen($username) > 10):
echo "The username must be between 4-10 characters<br>";
break;
case(strlen($password) < 4):
echo "The password must be at least 4 characters<br>";
break;
case(1>2):
echo $username . " " . $password . " " . strlen($username) . " " . strlen($password);
break;
答案 1 :(得分:-1)
如果您希望使用case
语句,则每个case
都应包含中断。在您的示例代码中,由于它不是那么冗长,因此可以使用if..else..
语句轻松完成,并且可以接受。
答案 2 :(得分:-1)
每个用过的案例块应以休息结束。否则,代码将执行下一个案例,依此类推,利用被称为“直通”的东西。 在某些情况下,此功能非常有用。