字计数器:不';t似乎没有给出我需要的输出(PHP)
下面是我想到的一行代码:字计数器:不';t似乎没有给出我需要的输出(PHP),php,Php,下面是我想到的一行代码: function Count($text) { $WordCount = str_word_count($text); $TextToArray = explode(" ", $text); $TextToArray2 = explode(" ", $text); for($i=0; $i<$WordCount; $i++)
function Count($text)
{
$WordCount = str_word_count($text);
$TextToArray = explode(" ", $text);
$TextToArray2 = explode(" ", $text);
for($i=0; $i<$WordCount; $i++)
{
$count = substr_count($TextToArray2[$i], $text);
}
echo "Number of {$TextToArray2[$i]} is {$count}";
}
函数计数($text)
{
$WordCount=str\u word\u count($text);
$TextToArray=分解(“,$text”);
$TextToArray2=分解(“,$text”);
对于($i=0;$i我假设您需要一个具有单词频率的数组
首先,将字符串转换为小写,并删除文本中的所有标点符号。这样,您就不会得到“But”、“But”和“But”的条目,而只是“But”的三个或更多用法
其次,如马克·贝克所说,使用第二个参数为2的str\u word\u count
来获得文本中的单词列表。这可能比我建议的preg\u split更有效
然后遍历数组并将单词的值增加1
foreach($words as $word)
$output[$word] = isset($output[$word]) ? $output[$word] + 1 : 1;
我假设您需要一个具有单词频率的数组
首先,将字符串转换为小写,并删除文本中的所有标点符号。这样,您就不会得到“But”、“But”和“But”的条目,而只是“But”的三个或更多用法
其次,如马克·贝克所说,使用第二个参数为2的str\u word\u count
来获得文本中的单词列表。这可能比我建议的preg\u split更有效
然后遍历数组并将单词的值增加1
foreach($words as $word)
$output[$word] = isset($output[$word]) ? $output[$word] + 1 : 1;
如果我正确理解了你的问题,这也会解决你的问题
function Count($text) {
$TextToArray = explode(" ", $text); // get all space separated words
foreach($TextToArray as $needle) {
$count = substr_count($text, $needle); // Get count of a word in the whole text
echo "$needle has occured $count times in the text";
}
}
如果我正确理解了你的问题,这也会解决你的问题
function Count($text) {
$TextToArray = explode(" ", $text); // get all space separated words
foreach($TextToArray as $needle) {
$count = substr_count($text, $needle); // Get count of a word in the whole text
echo "$needle has occured $count times in the text";
}
}
你想知道每个单词在一个句子、段落或文本中出现了多少次?str_word_count($text)也可以用来计算单词频率…问题出在哪里?你想知道每个单词在一个句子、段落或文本中出现了多少次?str_word_count($text)也可以用来计算词频…问题出在哪里?虽然这样做有效,但每次遇到每个单词时,你都会计算每个单词的使用次数。@RobertK ya你是对的。我只是想让海报知道,他不需要做stru word\u count
而是可以在分解数组上使用foreach
)这显然不是一个最佳的解决方案:)我在看到你的解决方案后发布了这个答案。这就是为什么我提到这一点也可以解决他的问题:)虽然这样做有效,但每次遇到每个单词时,你都会数一数它的使用次数。@RobertK ya你是对的。我只是想让海报知道他不需要做str\u word\u count
相反,他可以在分解数组上使用一个foreach
:)这显然不是一个最佳解决方案:)我在看到你的解决方案后发布了这个答案。这就是为什么我提到这一点也可以解决他的问题:)这实际上并不计算一个单词的使用次数。他仍然需要使用我创建的循环来交流实际进行频率计数。这实际上并不计算一个单词的使用次数。他仍然需要使用我创建的循环来实际进行频率计数。谢谢你的回答,@Robert K,你能进一步解释吗?对不起,我很难理解你的指示。我还是一个新手,没有经验,请理解还有。我终于成功了。非常感谢@Robert K。非常感谢你的努力。谢谢你的回答,@Robert K,你能进一步解释一下吗?对不起,我很难理解你的指示。我还是个新手,没有经验。请理解。我终于成功了。非常感谢@Robert K。非常感谢你的努力。