计算多个数组的匹配元素

时间:2018-07-23 14:32:40

标签: php arrays loops associative-array

我正在遍历两个关联数组。第一个是标签,第二个是数据。我想计算每个数据项中每个标签的匹配项。 例如

$tags= array("japan", "china", "usa")
$data=array("something...", "something..", "something..")

我想计算每个帖子中的日本次数,每个帖子中的中国次数以及每个帖子中的美国次数。不幸的是,我只获得日本第一批标签输入的计数结果。如何解决这个问题?

foreach ($tags as $tag) {   
    foreach ($data as $value) {
        $count= substr_count($value,$tag);
    }   

1 个答案:

答案 0 :(得分:1)

将结果放入以标记为键的关联数组中,并使用+=递增该标记的值。

$results = array();
foreach ($tags as $tag) {
    $results[$tag] = 0;
    foreach ($data as $value) {
        $results[$tag] += substr_count($value, $tag);
    }
}