php strlen 与 mb_strlen

int strlen ( string $string )
1、计算指定字符串占用的字节长度。
2、如果字符串中包含中文字符,如果文件是gbk编码,一个中文字符占用2个字节,如果文件是utf-8编码,一个中文字符占3个字节。

 

int mb_strlen ( string $str [, string $encoding ] )
1、计算指定字符串的字符个数。
2、如果字符串中包含中文字符,需指定编码,指定的编码须确保与当前文件的编码一致。

 

示例1,文件编码与指定编码都是utf-8.

$str = "123456中国";
  echo strlen($str);
  echo '<br>';
  echo mb_strlen($str,'utf-8');

 
php strlen 与 mb_strlen
   
结果说明:
utf-8编码下,一个中文字符占3个字节,所以strlen的结果=6+2*3=12
mb_strlen字符数是8
 
示例2,文件编码与指定编码都是gbk 

  $str = "123456中国";
  echo strlen($str);
  echo '<br>';
  echo mb_strlen($str,'gbk');

 
php strlen 与 mb_strlen
 

结果说明:  
gbk编码下,一个中文字符占2个字节,所以strlen的结果=6+2*2=10
mb_strlen字符数是8

你可能感兴趣的:(PHP)