Rumah  >  Artikel  >  pembangunan bahagian belakang  >  获得包含中英文字符串的自然长度

获得包含中英文字符串的自然长度

高洛峰
高洛峰asal
2017-02-09 09:14:151182semak imbas

考验对encoding的意识

代码实例:

$str = '大家好abc';
echo strlen($str);
echo '<br/>';
echo mb_strlen($str,'utf-8');

结果是12 , 6

  • strlen()计算的是字符串的字节数,一个英文字符是1字节,中文字符在GBK编码下是2字节,UTF8是3字节,所以字节数为 3*3+3 = 12

  • mb_strlen()需要mb_string扩展,mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ),第一个参数是要检测的字符串,第二个参数是编码格式,多字节字符被记为 1


考验对encoding的意识

代码实例:

$str = '大家好abc';
echo strlen($str);
echo '<br/>';
echo mb_strlen($str,'utf-8');

结果是12 , 6

  • strlen()计算的是字符串的字节数,一个英文字符是1字节,中文字符在GBK编码下是2字节,UTF8是3字节,所以字节数为 3*3+3 = 12

  • mb_strlen()需要mb_string扩展,mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ),第一个参数是要检测的字符串,第二个参数是编码格式,多字节字符被记为 1

更多获得包含中英文字符串的自然长度相关文章请关注PHP中文网!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn