如何在包含两个或更多单词的值的数组中搜索字符串(PHP)

3

我有一个包含两个单词的元素的数组,例如array("Dark Blue", "Carnation Pink")。我需要使用什么函数来搜索包含指定字符串的数组值。如果我搜索"Dark",则应该显示"Dark Blue"这个值。

2个回答

1
你可以使用 preg_grep()
$found = preg_grep('/\bDark\b/', $arr);

CodePad

你也可以使用array_filter()preg_match()与正则表达式一起使用。

$found = array_filter($arr, function($value) {
  return preg_match('/\bDark\b/', $value);
});

CodePad


0

也许一个好的传统foreach循环?

$search_for = "Dark";

foreach (array("Dark Blue", "Carnation Pink") as $value) {
    if (strpos($value, $search_for) !== false) {
        echo "Found $value<br/>";
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接