在数组中不匹配数组

时间:2015-08-07 12:39:25

标签: php

$blockon2 = array("opi-infinite-shine", "opi-gel", "cnd-vinylux", "opi");

var_dump(in_array(array("opi-infinite-shine", "opi-gel"), $blockon2, true));
// returns false

有人知道为什么它会返回假?谢谢!

它搜索完全匹配,所以返回true是必要的$ blockon2内的数组与针($ blockon2 [] =数组(“opi-infinite-shine”,“opi-gel”))

1 个答案:

答案 0 :(得分:4)

您可以改为使用array_diff

$blockon2 = array("opi-infinite-shine", "opi-gel", "cnd-vinylux", "opi");

var_dump(!(bool)array_diff(array("opi-infinite-shine", "opi-gel"), $blockon2));

如果原始数组中存在所有数组条目

,它将返回true

或者,如果您需要检查是否存在任何值,请尝试array_intersect

$blockon2 = array("opi-infinite-shine", "opi-gel", "cnd-vinylux", "opi");

var_dump((bool)array_intersect(array("opi-infinite-shine", "opi-gel"), $blockon2));