我怎样才能统计所有人物?我从mysql中选择一个字段(这是一个纯文本),我想计算该文本中提取的所有字母(包括空格和所有特殊字符)。
我将值与数字进行比较,例如:
如果文字超过1000个字符,那么$var++
所以我知道有多少个字段超过1000个字符。
strlen
似乎没有正确计算。
答案 0 :(得分:5)
如果您有非ASCII字符,请使用strlen
或mb_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结果。这将使您无需返回整个表数据以获取此数字。