在php页面中,有个函数
我输入: 我每天都想念祖国,因为我是中国人
函数就会输出下面的:
我 每天 都 想念 祖国 , 因为 我 是 中 国人 (注意空格我标点) 
对于新输出的这些词,(每空格分开的当成一个词),用什么方法得到 出现频率前三名的词呢,thanks    

解决方案 »

  1.   

    1楼只是得到 array的全部信息,
    如:这句话是: 我 每天 都 想念 祖国 , 因为 我 是 中 国人
    我要得到 我 字, 因我字出现了二次,
      

  2.   

    分词我已分好,
    <?
     $str_z="祖国 像 花园 , 祖国 是 我家 , 我 每天 都 想念 祖国 , 因为 我 是 中 国人";
    $arr_s=explode(" ",$str_z);
    $arr_r=array_count_values($arr_s);
    print_r ($arr_r);
    ?>
    输入出下:Array ( [祖国] => 3 [像] => 1 [花园] => 1 [,] => 3 [是] => 2 [我家] => 1 [我] => 2 [每天] => 1 [都] => 1 [想念] => 1 [因为] => 1 [中] => 1 [国人] => 1 ) 数组中表示每个词出现的次数,我要把 出现次数最多的前三名的词输出来,怎么实现呀,
      

  3.   

    $str_z="祖国 像 花园 , 祖国 是 我家 , 我 每天 都 想念 祖国 , 因为 我 是 中 国人";
    $arr_s=explode(" ",$str_z);
    $arr_r=array_count_values($arr_s); array_multisort(array_values($arr_r), SORT_DESC , $arr_r);$arr_r = array_slice($arr_r, 0, 3);
    print_r($arr_r);
      

  4.   

    谢谢 6 楼
    你得到的 Array ( [,] => 3 [祖国] => 3 [是] => 2 ) 
    可我只要 , 祖国  是 这三者
    怎么弄呀,
      

  5.   

    将6楼代码的最后数组的key打印出来就可以了。比如:
    foreach ($arr_r as $k=>$v) {
        echo $k.'|’;
    }