PHP&从字符串计数的字

时间:2011-03-22 18:58:36

标签: php arrays count

尝试从文本文件中获取数字并查看它们出现的次数。 我已经到了可以将所有这些打印出来的地步,但我想只显示一次数,然后可能会显示它们之后的事件(即:Key | Amount; 317 | 42)。 不是在寻找答案本身,所有的学习都很好,但如果你为我找到一个,那也很棒!

4 个答案:

答案 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为字边界,因此我们可以确信它不是嵌入另一个数字的数字。)