duanfengshang1088 2013-01-31 23:00
浏览 89
已采纳

在嵌套数组中使用substr_count

I'm trying to pull out certain groups of keywords from a block of text using substr_count and have it count how many times the words in each group appears.

I've created an array called $keywords, within it is another set of arrays which contain the actual keywords I am looking for.

This is my current code:

$textDump = "random bunch of text";

$keyWordsSports = array("nba", "raptor", "ufc", "basektball", "gym", "mma", "realgm", "running");
$keyWordsTech = array("apple", "rim", "blackberry", "facebook", "twitter", "google" );
$keywords = array($keyWordsSports, $keyWordsTech);
foreach ($keywords as $item){
    foreach ($item as $newItem){
        $number += substr_count(strtolower($textDump), strtolower($newItem));
        echo $number;
    };
};

My problem is that it counts all the keywords within all the arrays and adds everything together, what I want is just the total for each group of keywords. Any ideas on what I should do?

  • 写回答

3条回答 默认 最新

  • dougongyou7364 2013-01-31 23:05
    关注
    $keywords = array("sports"=>$keyWordsSports, "tech"=>$keyWordsTech);
    $count=array("sports"=>0,"tech"=>0);
    foreach ($keywords as $key=>$item){
        foreach ($item as $newItem){
            $count[$key] += substr_count(strtolower($textDump), strtolower($newItem));
        }
    }
    print_r($count);
    

    Edit: Live example

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部