shy*_*.me -1 php if-statement logical-or
我有文件category.php,它将GET['cat']
参数传递给process_edit.php
process_edit.php里面有这个代码..
if (!isset($_GET["cat"]) || !isset($_GET["new_field"])) {
header ("location: category.php");
exit;
}
else {
if (! ctype_digit($_GET["cat"])) {
header("location: category.php");
exit;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我通过'cat'时,它会进入第一个IF语句,而不是ELSE
部分进行.
任何人都可以建议错误是什么?
让我们分解一下:
if (!isset($_GET["cat"]) || !isset($_GET["new_field"])) {
Run Code Online (Sandbox Code Playgroud)
这意味着,如果未设置cat,或未设置OR new_field,则条件为真.
如果你传递了cat,但是你没有传递new_field,那么条件仍然是真的.如果你想要它是假的,你需要发送BOTH cat AND new_field.
&&要求所有条件必须为true才能返回true,否则返回false.
|| 要求任何给定条件必须为true才能返回true,否则返回false.
您可以在此处找到PHP逻辑运算符的完整参考:
http://php.net/manual/en/language.operators.logical.php
归档时间: |
|
查看次数: |
162 次 |
最近记录: |