计算字符串中的唯一单词

时间:2014-07-04 15:10:19

标签: php string

str_word_count将所有单词计入字符串。计算字符串中唯一单词的方式是什么。

$string = "this is my my word with new word";
//echo count(str_word_count($string));  
echo str_word_count($string);

这里的结果是8.但由于只有6个独特的单词,如何获得该结果?

3 个答案:

答案 0 :(得分:5)

这样的事可能会对你有所帮助:

count(array_unique(str_word_count($str, 1)));

答案 1 :(得分:2)

$string = "this is my my word with new word";
//echo count(str_word_count($string));  
echo unique_word_count($string);

function unique_word_count($string) {
    $string = explode(' ', strtolower($string));
    $words = array_unique($string);
    return count($words);
}

我就像上面那样做。

答案 2 :(得分:0)

下面的函数的行为与内置的str_word_count函数相同,但返回的结果将使用唯一的单词。唯一不同的是,在使用2作为格式的情况下,在这种情况下,返回的数组将给出字符串中第一次出现的单词的数字位置作为键。

    function str_word_count_unique($str = '', $format = 0, $charlist = NULL)
    {
        switch ($format) {
            case 0:
                return count(array_unique(str_word_count($str, 1, $charlist)));
                break;
            default:
                return array_unique(str_word_count($str, $format, $charlist));
                break;
        }
    }