您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP strlen()和mb

2024/4/20 11:35:28发布12次查看
strlen — 获取字符串长度 说明 int strlen ( string $string ) 返回给定的字符串 string 的长度。 参数 string 需要计算长度的 字符串 。 返回 成功则返回字符串 string 的长度;如果 string 为空,则返回 0。 mb_strlen — 获取字符串的长度 说明 mixed mb
strlen — 获取字符串长度
说明int strlen ( string$string )
返回给定的字符串 string 的长度。
参数string  需要计算长度的字符串。
返回值成功则返回字符串 string 的长度;如果 string 为空,则返回 0。
mb_strlen — 获取字符串的长度
说明mixedmb_strlen ( string $str[, string $encoding = mb_internal_encoding() ] )
获取一个 string 的长度。
参数str  要检查长度的字符串。encoding  encoding参数为字符编码。如果省略,则使用内部字符编码。
返回值返回具有 encoding 编码的字符串str 包含的字符数。 多字节的字符被计为 1。
如果给定的 encoding 无效则返回 false。
上面是手册中关于两个函数的解释,乍一看,好像都差不多。
下面通过实例,来讲解两者之间的区别。
//文件的编码方式为utf8$str='字a符1串b长2度'; echo strlen($str).'
';//19echo mb_strlen($str,'utf-8').'
';//9
再看下一个例子
结果分析:在strlen字符长度时,一个utf8的中文字符算3个长度,
所以“字a符1串b长2度”长度是3+1+3+1+3+1+3+1+3=19,
在mb_strlen计算时,选定内码为utf8,则会将一个中文字符当作长度1来计算,所以“字a符1串b长2度”长度是9 .
在gb2312中,strlen计算字符长度时,一个中文字符算2个长度。
另外,需要注意的是,mb_strlen并不是php核心函数,使用前需要确保在php.ini中加载php_mbstring.dll,否则会出现未定义函 数的问题。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product