尝试从文本文件中获取数字并查看它们出现的次数。 我已经到了可以将所有这些打印出来的地步,但我想只显示一次数,然后可能会显示它们之后的事件(即:Key | Amount; 317 | 42)。 不是在寻找答案本身,所有的学习都很好,但如果你为我找到一个,那也很棒!
答案 0 :(得分:2)
我认为您正在寻找函数str_word_count() function。
您可以通过str_word_count()函数对字符串单词进行计数。
<?php
echo str_word_count("Hey Gys "); // output 2
?>
希望它会对您有所帮助。
答案 1 :(得分:1)
preg_match_all将返回与字符串匹配的数量。
$count = preg_match_all("#$key#", $string);
print "{$key} - {$count}";
答案 2 :(得分:1)
因此,如果您已经在提取所需的数据,则可以使用(相当)简单的数组执行此操作:
$counts = array();
foreach ($keysFoundFromFile AS $key) {
if (!$counts[$key]) $counts[$key] = 0;
$counts[$key]++;
}
print_r($counts);
如果您已经循环从文件中提取密钥,那么您可以直接将它们分配给$counts
数组,而无需进行第二次循环。
答案 3 :(得分:1)
我认为你正在寻找功能substr_count() 只是抬头,如果你正在寻找“123”并且它找到“4512367”它将匹配它作为它的一部分。另一种方法是使用RegEx并使用字边界:
$count = preg_match_all('|\b'. preg_quote($num) .'\b|', $text);
(preg_quote()
为良好做法,\b
为字边界,因此我们可以确信它不是嵌入另一个数字的数字。)