Zoo*_*der 0 php validation if-statement
我需要检查以确保变量等于5,10,50或100.如果没有那么我想将其设置为5.有人能告诉我这个IF语句有什么问题吗?
if (isset($_REQUEST['number']) && $_REQUEST['number'] !== "5" || $_REQUEST['number'] !== "10" || $_REQUEST['number'] !== "50" || $_REQUEST['number'] !== "100") {
$number = 5;
} else {
$number = $_REQUEST['number'];
}
Run Code Online (Sandbox Code Playgroud)
您需要分解逻辑以克服运算符优先级.如有疑问,请使用括号.
我也颠倒了逻辑.它读起来更自然.
if (isset($_REQUEST['number']) && ($_REQUEST['number'] == "5" || $_REQUEST['number'] == "10" || $_REQUEST['number'] == "50" || $_REQUEST['number'] == "100")) {
$number = $_REQUEST['number'];
} else {
$number = 5;
}
Run Code Online (Sandbox Code Playgroud)
虽然上面的工作,你也可以用类似的东西来简化它in_array().
isset($_REQUEST['number']) && in_array($_REQUEST['number'], array(5, 10, 50, 100))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1940 次 |
| 最近记录: |