PHP如何在foreach循环中计算相同的单词

RK2*_*K26 2 php arrays foreach loops count

我的foreach循环中有以下结果:

Tonsilitis
Tonsilitis
Laryngitis
Rhinosinusitis Akut
Rhinosinusitis Akut
Rhinosinusitis Akut
Common Cold
Common Cold
Common Cold
Rhinitis Alergi
Run Code Online (Sandbox Code Playgroud)

这是我的脚本:

foreach ($results as $data) :
   $final = $data->nama_diagnosis . '<br>';
   echo $final;
endforeach;
Run Code Online (Sandbox Code Playgroud)

我的问题是,我如何在循环中或循环外计数相同的单词。我可以那样做吗?请给我解决方案。结果,我想像这样对它们进行计数:

Tonsilitis = 2
Laryngitis = 1
Rhinosinusitis Akut = 3
Common Cold = 3
Rhinitis Alergi = 1
Run Code Online (Sandbox Code Playgroud)

或者,也许我可以过滤相同的单词,以便仅获得最多的单词,例如Rhinosinusitis Akut和感冒。请帮我。谢谢

pot*_*hin 5

您可以尝试执行以下操作,使用foreach循环遍历数组,并使用带有三元运算符的isset来安全地分配和增加每次出现的次数:

$count = array();
foreach ($results as $result)
    isset($count[$data]) ? $count[$data]++ : $count[$data] = 1;
Run Code Online (Sandbox Code Playgroud)