<?php
function arrpos(array $haystack, array $needle) {
$len1 = count($haystack);
$len2 = count($needle);
if ($len2 > $len1) {
return false;
}
for ($i = 0; $i <= $len1 - $len2; $i++) {
if ($haystack[$i] === $needle[0]) {
for ($j = 1; $j < $len2; $j++) {
if ($haystack[$i + $j] !== $needle[$j]) {
continue 2;
}
}
return $i;
}
}
return false;
}
$needle = [2,4];
var_dump(arrpos([1,2,3,4], $needle));
var_dump(arrpos([1,2,4,3], $needle));
var_dump(arrpos([1,2,2,4,3], $needle));
var_dump(arrpos([1,2,3,4,5], [2,3,4,5]));
preferences:
52.29 ms | 402 KiB | 5 Q