Php 为什么isset与语法匹配不起作用
我想知道,如果issetPhp 为什么isset与语法匹配不起作用,php,html,debugging,Php,Html,Debugging,我想知道,如果isset$\u POST[“items”]文本与reject1文本匹配,然后返回。我的代码不起作用为什么 if(isset($_POST["items"])==='reject1'){ echo 'text match :)'; } else { echo 'not match :('; } 试试这个 if(isset($_POST["items"]) && $_POST["items"]==='reject1'){ echo 'text ma
$\u POST[“items”]
文本与reject1
文本匹配,然后返回。我的代码不起作用为什么
if(isset($_POST["items"])==='reject1'){
echo 'text match :)';
}
else {
echo 'not match :(';
}
试试这个
if(isset($_POST["items"]) && $_POST["items"]==='reject1'){
echo 'text match :)';
}
else {
echo 'not match :(';
}
它对你有用。你必须这样写:
if(isset($_POST["items"]) && $_POST["items"]==='reject1'){
echo 'text match :)';
}
else {
echo 'not match :(';
}
因为
isset
仅返回true或false,而不是值。您应该使用内部if进行字符串比较
if(isset($_POST["items"])){
if ($_POST["items"] ==='reject1'){
echo 'text match :)';
} else {
echo 'not match :(';
}
}
php isset()返回true或false,因此它不能与“reject1”匹配。如果要匹配,应执行以下操作:
if($_POST["items"]==='reject1') {}
或者,如果要检查变量是否存在,可以执行以下操作:
if(isset($_POST["items"]) && $_POST["items"]==="reject1") {
echo "text match";} else { echo "not match"; }
isset
如果设置了变量,则返回TRUE
;如果未设置变量,则返回FALSE
。TRUE
和FALSE
都不等于'reject1'
,因此将永远不会输入if
您可以执行两阶段检查-首先检查是否设置了键,然后评估其值:
if(array_key_exists('items', $_POST) && $_POST['items'] === 'reject1') {
echo 'text match :)';
} else {
echo 'not match :(';
}
或者做一行:
echo (isset($_POST["items"]) && $_POST["items"]==='reject1')? 'text match :)' : 'not match :(';
参考文献:
如果var存在且值不是NULL,则返回TRUE。否则就错了
Isset返回true或false。它不能匹配
reject1