具有特定键的PHP搜索数组

时间:2017-10-10 13:40:32

标签: php arrays

我有一个这样的数组:

array {
    ["MASTERKEY"]=> "SECONDKEY1, SECONDKEY2, SECONDKEY3, SECONDKEY4" 
    ["OTHERKEY"]=> "SECONDKEY1, SECONDKEY2, SECONDKEY3, SECONDKEY4"
}

我有这个功能[仅限示例]:

    function findbothkeys() {
        $masterkey= 'MASTERKEY';
        $secondkey= 'SECONDKEY2';


        if (array_key_exists($masterkey, $array)) {
            echo 'Yes ' . $masterkey. ' found';
            if (in_array($secondkey, $array[$masterkey])) {
                echo 'Yes' . $secondkey. ' found';
            }
            else {
                echo 'NO' . $secondkey. ' not found';
            }
        }
        else {
            echo 'NO' . $masterkey. ' not found';
        }
}

我想要实现的是在找到$masterkey的字符串作为该数组的键之后 - >下一次搜索(in_array)只应在其值中执行。不在其他键值中。

1 个答案:

答案 0 :(得分:1)

in_array函数需要第二个参数是一个数组,但在你的情况下它是一个字符串。

解决此问题的一种方法是将字符串转换为包含explode的数组:

in_array($secondkey, explode(", ", $array[$masterkey]))