1

私は配列を持っています:

$haystack = array(1,2,3,4,5,6,7,8,9,10...);
$needle = array(3,4,5);
$bad_needle = array(3,5,4);

そして、干し草の山に針が含まれているかどうかを確認する場合は、trueにする必要があります。しかし、haystack に bad_needle が含まれているかどうかを確認する場合は、falseも必要です。すべての干し草の山と針に foreach を使わずにチップを渡す?

4

2 に答える 2

0
var_dump(strpos(implode(',', $haystack), implode(',', $needle)) !== false);

var_dump(strpos(implode(',', $haystack), implode(',', $bad_needle)) !== false);

作業中の array_slice() には、解決できる限りループが必要です。

foreach(array_keys($haystack, reset($needle)) as $offset) {
    if($needle == array_slice($haystack, $offset, count($needle))) {
        // yes, contains needle
        break;
    }
}
于 2013-10-29T20:40:59.993 に答える