数组中的PHP执行不正确
所以我有这个数组中的PHP执行不正确,php,arrays,Php,Arrays,所以我有这个 $changed = $_POST; if(in_array("op1", $changed)) { echo 'Yes'; } else { echo 'No'; } 每次我运行这个,它只是说不 如果我像这样打印我的帖子 print_r($_POST); 它显示我的数组如
$changed = $_POST;
if(in_array("op1", $changed))
{
echo 'Yes';
} else
{
echo 'No';
}
每次我运行这个,它只是说不
如果我像这样打印我的帖子
print_r($_POST);
它显示我的数组如下所示
Array ( [search] => [op1] => Yes [submit] => Submit Query ) No
所以我可以看到OP1在那里,但是
if(在数组中)
不起作用。在数组中查找数组中的值。您正在尝试搜索密钥
您想改为使用array\u key\u exists
用于从给定数组中搜索值,但您希望搜索数组的键,所以可以使用搜索数组键
if(array_key_exists("op1", $changed)) {
echo 'Yes';
} else {
echo 'No';
}
或者可能是isset($\u POST['op1'])
如果NULL不是无问题的$\u POST['op1']
不是NULL
。因此,如果我正在搜索一个键,例如,我刚刚将代码更改为if(在数组中(“Yes”,$changed)),它工作是因为Yes在那里。如何将键与找到的值进行匹配?如果它发现是的。。。它如何知道是来自op1的键?@RoxyMilesif(array_key_存在(“op1”),$changed)和&$changed['op1']=“YES”)
likethat@RoxyMiles检查该键是否存在,以及检查该键的值是两个独立的操作。但是可以轻松地与&&
组合。用于值搜索而不是键搜索的In_数组
if(array_key_exists("op1", $changed)) {
echo 'Yes';
} else {
echo 'No';
}