我有一个包含两个单词的元素的数组,例如array("Dark Blue", "Carnation Pink")。我需要使用什么函数来搜索包含指定字符串的数组值。如果我搜索"Dark",则应该显示"Dark Blue"这个值。
preg_grep()
。$found = preg_grep('/\bDark\b/', $arr);
你也可以使用array_filter()
和preg_match()
与正则表达式一起使用。
$found = array_filter($arr, function($value) {
return preg_match('/\bDark\b/', $value);
});
也许一个好的传统foreach循环?
$search_for = "Dark";
foreach (array("Dark Blue", "Carnation Pink") as $value) {
if (strpos($value, $search_for) !== false) {
echo "Found $value<br/>";
}
}