早教吧 育儿知识 作业答案 考试题库 百科 知识分享

PHP我要用count统计文本里的单词数的总数比如:$parrten="/[a-zA-Z]+/";$str="中英文chineseenglish混合thisisatest这是一个测试";preg_match_all($parrten,$str,$arr);echocount($arr);为什么结果得出是1,我要的结

题目详情
PHP我要用count统计文本里的单词数的总数
比如:
$parrten = "/[a-zA-Z]+/";
$str ="中英文chinese english混合 this is a test这是一个测试";
preg_match_all($parrten,$str,$arr);
echo count($arr);
为什么结果得出是1,我要的结果是6.
▼优质解答
答案和解析
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);
看了 PHP我要用count统计文...的网友还看了以下: