如何使用preg_match在数组中搜索?
例:
<?php
if( preg_match( '/(my\n+string\n+)/i' , array( 'file' , 'my string => name', 'this') , $match) )
{
//Excelent!!
$items[] = $match[1];
} else {
//Ups! not found!
}
?>
在这篇文章中,我将为您提供三种不同的方法来满足您的要求。 我实际上建议使用最后一个代码段,因为它最容易理解并且代码简洁。
有专门用于此目的的功能preg_grep
。它将一个正则表达式作为第一个参数,并将一个数组作为第二个参数。
请参见以下示例:
$haystack = array (
'say hello',
'hello stackoverflow',
'hello world',
'foo bar bas'
);
$matches = preg_grep ('/^hello (\w+)/i', $haystack);
print_r ($matches);
输出
Array
(
[1] => hello stackoverflow
[2] => hello world
)
array_reduce
与preg_match
能解决清洁方式这一问题; 请参见下面的代码段。
$haystack = array (
'say hello',
'hello stackoverflow',
'hello world',
'foo bar bas'
);
function _matcher ($m, $str) {
if (preg_match ('/^hello (\w+)/i', $str, $matches))
$m[] = $matches[1];
return $m;
}
// N O T E :
// ------------------------------------------------------------------------------
// you could specify '_matcher' as an anonymous function directly to
// array_reduce though that kind of decreases readability and is therefore
// not recommended, but it is possible.
$matches = array_reduce ($haystack, '_matcher', array ());
print_r ($matches);
输出
Array
(
[0] => stackoverflow
[1] => world
)
array_reduce
似乎很乏味,不是吗?是的,这实际上是一个清洁的是,虽然它不涉及使用任何现有array_*
或preg_*
功能。
如果要多次使用此方法,请将其包装在函数中。
$matches = array ();
foreach ($haystack as $str)
if (preg_match ('/^hello (\w+)/i', $str, $m))
$matches[] = $m[1];
问题内容: 可以说我们有一个名为acls的类,该类有一个名为lprop的List属性。 现在,让我说我还有另一个列表,其值分别为1,3,5,并且说此变量名称为tosearch。 我想通过使用巢来搜索elasticsearch索引中的acls类型记录lprop属性中的tosearch值,并且仅找到一个匹配项就足够了。 例如: 问题答案: 使用查询
问题内容: 我有一个JSON数组 我将如何搜索8097并获取内容? 问题答案: 使用该函数将JSON字符串转换为对象数组,然后遍历该数组直到找到所需的对象:
这是我的阵列 我想做的是:写一个函数 例如:将返回18将返回19等等
假设mongodb文档(表)“users”为 我想找到1975年必须获得“国家奖章”的人,可能还有其他人在不同的年份获得该奖项。 我怎样才能找到这个人使用奖励类型和年份。所以我可以得到确切的人。
比如,我有以下实体类: Person.java 以及存储库: PersonRepository。Java语言 是否有一个方法返回所有人,其car数组包含一个给定的car(上面的String参数)? 对我来说,似乎所有支持的JPA关键字都只能处理单个元素,而不能处理数组。 谢谢你的帮助!
问题内容: 我在netbeans中创建了jtable,并在jtable中填充了数据库中的数据,但是我无法使用jtextfield在jtable中实现搜索选项。谁能指导我。谢谢 问题答案: 为了在表上搜索内容,必须将原始内容存储在某个变量中。在下面的示例中,我将表模型的初始值存储在向量中。 下面有两种实现方式:一种是在文本字段上键入内容后立即进行搜索,另一种则仅在单击按钮后进行搜索。 对于第一个,您