PHP我要用count统计文本里的单词数的总数比如:$parrten = "/[a-zA-Z]+/";$str ="中英文chinese english混合 this is a test这是一个测试";preg_match_all($parrten,$str,$arr);echo count($arr);为什么结果得出是1,我要的结
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/21 03:33:48
PHP我要用count统计文本里的单词数的总数比如:$parrten = "/[a-zA-Z]+/";$str ="中英文chinese english混合 this is a test这是一个测试";preg_match_all($parrten,$str,$arr);echo count($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.
PHP我要用count统计文本里的单词数的总数比如:$parrten = "/[a-zA-Z]+/";$str ="中英文chinese english混合 this is a test这是一个测试";preg_match_all($parrten,$str,$arr);echo count($arr);为什么结果得出是1,我要的结
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);