检查是否有任何数组值包含字符串 - strpos

时间:2013-10-31 20:49:01

标签: php

为了检查字符串中是否存在子字符串:

if (strpos($haystack,$needle)!==false) {...}

但需要检查是否有任何数组值包含字符串。

例如:检查“oran”是否包含在$ arr

的任何值中
$arr=array('orange1','orange2','orange3')

始终可以使用strpos进行foreach并分析每个数组值。

但是,有一种优雅而美好的选择吗?

2 个答案:

答案 0 :(得分:3)

这个怎么样?

if(strpos(implode(' ', $arr), 'oran') !== false){...}

您需要空间分隔符,以免意外地执行:

$arr = array('for', 'antlr');  // implode would make 'forantlr', which contains 'oran'

答案 1 :(得分:1)

foreach ($arr as $a) {
   if (strpos($a,'oran') !== false) { ... }
}

我知道无论如何我们都在想这个。 /线程。