我有一个这样的数组:
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
)只应在其值中执行。不在其他键值中。
答案 0 :(得分:1)
in_array
函数需要第二个参数是一个数组,但在你的情况下它是一个字符串。
解决此问题的一种方法是将字符串转换为包含explode
的数组:
in_array($secondkey, explode(", ", $array[$masterkey]))