计算字符串中的中文字节

$str = '欧耶123';
//中文字节
$zl = strlen($str) - mb_strlen($str,'utf8');
//英文字节
$yl = mb_strlen($str, 'utf8') - $zl / 2;

中文个数 
$znum = $zl /2;

想不通为什么是这样算?

阅读 2.5k
1 个回答
mb_substr()中文一个字算3个字节,截取中文设置参数utf-8

mb_strlen($str, 'utf-8'),每个中文一个
mb_strlen($str, 'gb2312'),每个中文2个
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题