php foreach找到类似的项目

时间:2015-04-22 22:35:24

标签: php foreach similarity

在以下情形中:

$array = array (
    'business', 'businesses', 'business man', 'apple'
);
print '<ul>';
foreach ($array as $row) {
    print ' <li class=""> ' . $row . '</li>';
}
print '</ul>';

我希望能够找到类似的项目并为其分配css类。 在上述业务中,企业和业务人员应该是类似的项目。

2 个答案:

答案 0 :(得分:0)

您可以使用strpos检查字符串是否包含在另一个字符串中:

$array = array(
    'business', 'businesses', 'business man', 'apple'
);

print '<ul>';
foreach ($array as $row) {
    $className = '';

    if (stripos($row, 'business') !== false) {
        $className = 'business';
    }

    print '<li class="'.$className.'">' . $row . '</li>';
}
print '</ul>';

这会将类business添加到数组中包含单词“business”的每个单词(“$row”),忽略大小写(小写或大写字符的处理方式相同)。

答案 1 :(得分:0)

我会使用类似的东西:

similar_text() - http://php.net/similar_text

levenshtein() - http://php.net/levenshtein

然后循环遍历数组中的每个元素并按“最小的levenshtein距离”或“最相似的文本”进行分组