Php 我如何找到特定数字单词的出现

Php 我如何找到特定数字单词的出现,php,string,word-count,Php,String,Word Count,大家好,我有一个小问题,假设我有一个字符串作为 “你好,我叫XYZ” 现在我知道我可以找到单词的长度,因为“Hello”有5个字符,“My”有2个字符。通过使用以下代码 $text = file_get_contents('text.txt'); // $text = 'Hello my name is XYZ'; $words = str_word_count($text, 1); $wordsLength = array_map( function($word) { return mb_st

大家好,我有一个小问题,假设我有一个字符串作为

“你好,我叫XYZ”

现在我知道我可以找到单词的长度,因为“Hello”有5个字符,“My”有2个字符。通过使用以下代码

$text = file_get_contents('text.txt'); // $text = 'Hello my name is XYZ';
$words = str_word_count($text, 1);
$wordsLength = array_map(
function($word) { return mb_strlen($word, 'UTF-8'); },
$words
);

var_dump(array_combine($words, $wordsLength));
但是如果我想发现长度为1的单词数是0呢。长度为2的单词数为2。长度为3的字数为1,依此类推,直到长度为10的字数为止

注-我正在考虑字长,直到有一个空格,假设数据中有一个日期,如2016年4月20日,那么它应该告诉我数字是字长为10的字数是1

还有一件事,我如何找到字符串中单词的平均长度。
提前感谢您

如果您在
$wordsLength
数组上使用
array\u count\u values()
,它将给出字符串长度的计数。如果您使用该数组和一个模板数组(使用
array\u fill()
)创建,其中元素为1-10,值为0。您将获得所有字数的列表

$counts = array_replace(array_fill(1, 9, 0), 
             array_count_values($wordsLength));
将给予

Array
(
    [1] => 0
    [2] => 2
    [3] => 1
    [4] => 1
    [5] => 1
    [6] => 0
    [7] => 0
    [8] => 0
    [9] => 0
)

如果在
$wordsLength
数组上使用
array\u count\u values()
,它将给出字符串长度的计数。如果您使用该数组和一个模板数组(使用
array\u fill()
)创建,其中元素为1-10,值为0。您将获得所有字数的列表

$counts = array_replace(array_fill(1, 9, 0), 
             array_count_values($wordsLength));
将给予

Array
(
    [1] => 0
    [2] => 2
    [3] => 1
    [4] => 1
    [5] => 1
    [6] => 0
    [7] => 0
    [8] => 0
    [9] => 0
)

您好,试试这个,它适用于日期和特殊字符、表情符号


$text='Hello 20.04.2016大家好,试试这个吧,它适用于日期和特殊字符、表情符号

$text='Hello 20.04.2016()

$text='Hello 20.04.2016()


$text='Hello 20.04.2016谢谢你,伙计,我算出来了,但是有一个问题,我应该如何将日期或任何特殊字符计算为一个单词?谢谢,伙计,我算出来了,但是有一个问题,我应该如何将日期或任何特殊字符计算为一个单词?谢谢,伙计,这就是我想要的,只是一个lil请求,如果我想怎么办添加一行长度为1的字数为1的字数为2的字数为3的字数为1的字数为4的字数为0不要将多余文本添加到数组中。当您循环输出时,只需忘记修剪字符串替换<代码> $text /代码>用<代码>修剪($text)<代码>我们还需要“UTF8”MbStrLLN是否认为它是默认的?是的,它确实认为它是默认的,并且我已经用Trimm($text)替换它。伙计,如果我不打扰你,我可以问你两件事吗?如果我想找到最常出现的单词的长度,比如“我的名字是xyz,他的名字是ABC”,那么这里最常出现的单词是“是”,它的长度是2,最后一件事是,你能告诉我循环输出的代码吗。你似乎是问这个问题的最佳人选:D谢谢,伙计,这就是我想要的,只是一个小请求,如果我想添加一行,长度为1的字数为1的字数为2的字数为3的字数为1的字数为4的字数为0不要在你的数组。当您循环输出时,只需忘记修剪字符串替换<代码> $text /代码>用<代码>修剪($text)<代码>我们还需要“UTF8”MbStrLLN是否认为它是默认的?是的,它确实认为它是默认的,并且我已经用Trimm($text)替换它。伙计,如果我不打扰你,我可以问你两件事吗?如果我想找到最常出现的单词的长度,比如“我的名字是xyz,他的名字是ABC”,那么这里最常出现的单词是“是”,它的长度是2,最后一件事是,你能告诉我循环输出的代码吗。你似乎是问这件事的最佳人选:D