PHP:检测数组中的特定元素序列

Jon*_*løv 3 php arrays sequence

如何检测数组中是否存在certan序列元素?例如,如果我有阵列和针

$needle = array(1,1);
$haystack1 = array(0,1,0,0,0,1,1,0,1,0);
$haystack2 = array(0,0,0,0,1,0,1,0,0,1);
Run Code Online (Sandbox Code Playgroud)

如何检测例如$ haystack1中是否存在子集$ needle?对于$ haystack1,此方法应返回TRUE,对于$ haystack2,此方法应返回FALSE.

谢谢你的任何建议!

Sam*_*son 6

加入阵列,并检查针的strpos.

if ( strpos( join($haystack1), join($needle) ) >= 0 ) {
    echo "Items found";
}
Run Code Online (Sandbox Code Playgroud)

演示:http://codepad.org/F13DLWOI

警告

这对于haystack数组中的对象或数组等复杂项目不起作用.这种方法最好与数字和字符串一起使用.