如何计算两个数组中出现的单词数?(使用php)

如何计算两个数组中出现的单词数?(使用php),php,arrays,count,Php,Arrays,Count,如果我有一个由两个数组组成的数组 D[0]=数组(“我”、“想要”、“去”、“做”、“蛋糕”、“和”、“做”、“果汁”) D[1]=数组(“妹妹”、“想要”、“去”、“拿”、“蛋糕”、“那个”、“我”、“做的”) 如何计算两个数组中出现的单词数 eg输出: 单词|数组[0]|数组[1] I:1|1 想要:1 | 1 致:1 | 1 品牌:2|0 蛋糕:1 | 1 和:1 | 0 果汁:1|0 姐妹:0|1 取值:0|1 结果:0 | 1 即:0|1 made:0 | 1此解决方案使用allwor

如果我有一个由两个数组组成的数组

D[0]=数组(“我”、“想要”、“去”、“做”、“蛋糕”、“和”、“做”、“果汁”)
D[1]=数组(“妹妹”、“想要”、“去”、“拿”、“蛋糕”、“那个”、“我”、“做的”)
如何计算两个数组中出现的单词数

eg输出:
单词|数组[0]|数组[1]
I:1|1
想要:1 | 1
致:1 | 1
品牌:2|0
蛋糕:1 | 1
和:1 | 0
果汁:1|0
姐妹:0|1
取值:0|1
结果:0 | 1
即:0|1

made:0 | 1

此解决方案使用allwords构建一个数组,稍后用于迭代 两个查找数组中的$d[0]和$d。 array_unique(array_merge())删除重复的“make”

数组_count_values()用于计算值

最后,为了显示表,allwords数组作为迭代器

对于每个单词,一个新行具有
id
word
calc from array1
calc from array2

长话短说。这是我的建议

PHP

<?php

$d = array();
$d[0] = array("I", "want", "to", "make", "cake", "and", "make", "juice");
$d[1] = array("Sister", "want", "to", "takes", "the", "cake", "that", "i", "made");

$allwords = array_unique(array_merge($d[0], $d[1]));

echo '<table>';
echo '<thead><th>Word ID</th><th>Word</th><th>Array 1</th><th>Array 2</th></thead>';

$array1 = array_count_values($d[0]);
$array2 = array_count_values($d[1]);

foreach($allwords as $id => $word) {
    echo '<tr><td>'. $id . '</td><td>' . $word . '</td>';

    if(isset($array1[$word])) {
        echo '<td>' . $array1[$word] . '</td>';
    } else {
        echo '<td>0</td>';
    }

    if(isset($array2[$word])) {
        echo '<td>' . $array2[$word] . '</td>';
    } else {
        echo '<td>0</td>';
    }
}

echo '</table>';