如何在php中统计包括空格和正则表达式在内的所有字符?

时间:2011-08-05 12:59:35

标签: php mysql count character

我怎样才能统计所有人物?我从mysql中选择一个字段(这是一个纯文本),我想计算该文本中提取的所有字母(包括空格和所有特殊字符)。

我将值与数字进行比较,例如:

如果文字超过1000个字符,那么$var++ 所以我知道有多少个字段超过1000个字符。

strlen似乎没有正确计算。

4 个答案:

答案 0 :(得分:5)

如果您有非ASCII字符,请使用strlenmb_strlen

答案 1 :(得分:1)

Unicode字符需要mb_strlen()http://php.net/manual/en/function.mb-strlen.php

另一方面,如果您只计算数据库中有多少条目超过1000个字符,您可以使用MySQL函数CHAR_LENGTH()来节省一些计算能力来计算数据库中的总数:{{ 3}}

答案 2 :(得分:1)

这可能是因为编码问题而发生的。这与regex s无关。

您可以使用mb_strlen来获得正确的长度。

答案 3 :(得分:0)

你可以让mysql进行计数,因为它知道charset,有一个计数功能,甚至可以给你一个表中直接有超过1000个字符的字段数:

SELECT count(*) as var FROM table WHERE CHAR_LENGTH(field) > 1000;

这将返回您的var作为mysql结果。这将使您无需返回整个表数据以获取此数字。