搜索包含字符串的PHP数组元素

$example = array('An example','Another example','Last example');

如何在上面的数组中松散搜索“ Last”一词?

echo array_search('Last example',$example);

上面的代码仅在指针与值中的所有内容完全匹配时才回显值的键,这是我不想要的。我想要这样的东西:

echo array_search('Last',$example);

如果值包含单词“ Last”,我希望值的键回显。

回答:

要查找符合搜索条件的值,可以使用array_filter函数:

$example = array('An example','Another example','Last example');

$searchword = 'last';

$matches = array_filter($example, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });

现在,$matches数组将仅包含原始数组中包含单词 last (不区分大小写)的元素。

如果需要查找与条件匹配的值的键,则需要遍历数组:

$example = array('An example','Another example','One Example','Last example');

$searchword = 'last';

$matches = array();

foreach($example as $k=>$v) {

if(preg_match("/\b$searchword\b/i", $v)) {

$matches[$k] = $v;

}

}

现在,数组$matches包含原始数组中的键/值对,其中值包含(不区分大小写)单词 last

以上是 搜索包含字符串的PHP数组元素 的全部内容, 来源链接: utcz.com/qa/427435.html

回到顶部