PHP我要用count统计文本里的单词数的总数
比如:$parrten="/[a-zA-Z]+/";$str="中英文chineseenglish混合thisisatest这是一个测试";preg_match_all(...
比如:
$parrten = "/[a-zA-Z]+/";
$str ="中英文chinese english混合 this is a test这是一个测试";
preg_match_all($parrten,$str,$arr);
echo count($arr);
为什么结果得出是1,我要的结果是6. 展开
$parrten = "/[a-zA-Z]+/";
$str ="中英文chinese english混合 this is a test这是一个测试";
preg_match_all($parrten,$str,$arr);
echo count($arr);
为什么结果得出是1,我要的结果是6. 展开
5个回答
展开全部
preg_match_all得到的是一个二维数组,你可以去看一下php手册,他还有一个可选参数,默认时PREG_PATTERN_ORDER,这样得到的二维数组$arr,第一个是匹配的字符串,第二个是匹配第一个括号的字符串,后面依次类推
还可以设置为PREG_SET_ORDER,这样他得到的二维数组是,第一个是匹配的第一个字符串,第二个是匹配的第二个字符串,以此类推
所以你这题不加后面那个参数的话就是打印count($arr[0]),或者加参数PREG_SET_ORDER,打印出来就是6了。
$parrten = "/[a-zA-Z]+/";
$str ="中英文chinese english混合 this is a test这是一个测试";
preg_match_all($parrten,$str,$arr,PREG_SET_ORDER);
print_r($arr);
echo count($arr);
展开全部
$arr是数组,可以输出其各项查看结果,第一项是字数。
有个函数叫str_word_count或者mb_strlen是统计字数用的。
有个函数叫str_word_count或者mb_strlen是统计字数用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样才对:
echo count($arr[0]);
因为在preg_match_all执行完毕,$arr[0]是一个数组,里面每个元素是每次匹配的内容。
如果的正则表达式里面有(),那么$arr[1]就是第一对括号所匹配的内容,$arr[2]就是第二个,……。
因为你本例子正则表达式没有括号,所以只有$arr[0]一个元素,没有$arr[1]等。
echo count($arr[0]);
因为在preg_match_all执行完毕,$arr[0]是一个数组,里面每个元素是每次匹配的内容。
如果的正则表达式里面有(),那么$arr[1]就是第一对括号所匹配的内容,$arr[2]就是第二个,……。
因为你本例子正则表达式没有括号,所以只有$arr[0]一个元素,没有$arr[1]等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最后一句,echo count($arr[0]);
因为 preg_match_all 返回的数组是一个包含了所有匹配的二维数组
因为 preg_match_all 返回的数组是一个包含了所有匹配的二维数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用var_dump函数来查看一下那个数组arr,结果是对的,不过要这样写:echo count($arr[0]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询