PHP in_array无法正常执行

时间:2016-03-17 13:10:26

标签: php arrays

所以我有这个

            $changed = $_POST;
            if(in_array("op1", $changed))
            {
                echo 'Yes';
            } else
            {
                echo 'No';
            }

我每次运行它都只是说不...

如果我像这样打印我的POST ..

print_r($_POST);

它显示我的数组看起来像这样

Array ( [search] => [op1] => Yes [submit] => Submit Query ) No 

所以我可以看到OP1在那里,但if(in_array)无效。

2 个答案:

答案 0 :(得分:7)

in_array在数组中查找。您正在尝试搜索密钥。

您想改用array_key_exists

http://php.net/array_key_exists

if(array_key_exists("op1", $changed)) {

答案 1 :(得分:0)

in_array用于从给定数组中搜索值,但是您想要搜索数组的键,因此您可以使用array_key_exists来搜索数组键

 if(array_key_exists("op1", $changed)) {
     echo 'Yes';
 } else {
     echo 'No';
 }