假设我有一系列颜色:
$colors = array('black','yellow','red');
$color = 'reddish';
如何计算它们的出现次数?因为substr_count()
可能很好地检测到'红色',但不会包含“红色”。所以我需要精确匹配字符串,尽管它之前或之后都是如此。
$string = implode(' ', $colors);
echo substr_count($string, $color);
答案 0 :(得分:1)
这样的事情怎么样?
$colors = array('black', 'yellow', 'red');
$color = 'reddish';
$string = implode('|', $colors);
preg_match_all("/".$string."/i", $color, $matches);
print_r($matches); // will print an array of the matches
echo count($matches[0]); // will echo how many matches were made
这将输出1,如果$ color等于“reddish yellowy”,则输出将为2,因为它匹配$ colors数组中的“red”和“yellow”。