mb_strlen与strlen的区别

开发中总会遇到字符串文字长度计算的问题,比较常用的就是strlen和mb_strlen。

示例代码:

$a = '中';
echo "===中文===\n";
echo 'strlen: ' . strlen($a) . "\n";
echo 'mb_strlen: ' . mb_strlen($a) . "\n";
$a = 1;
echo "===数字===\n";
echo 'strlen: ' . strlen($a) . "\n";
echo 'mb_strlen: ' . mb_strlen($a) . "\n";
$a = 'a';
echo "===英文===\n";
echo 'strlen: ' . strlen($a) . "\n";
echo 'mb_strlen: ' . mb_strlen($a) . "\n";
$a = ',';
echo "===英文标点===\n";
echo 'strlen: ' . strlen($a) . "\n";
echo 'mb_strlen: ' . mb_strlen($a) . "\n";
$a = '。';
echo "===中文标点===\n";
echo 'strlen: ' . strlen($a) . "\n";
echo 'mb_strlen: ' . mb_strlen($a) . "\n";

运行结果:

===中文===
strlen: 3
mb_strlen: 1
===数字===
strlen: 1
mb_strlen: 1
===英文===
strlen: 1
mb_strlen: 1
===英文标点===
strlen: 1
mb_strlen: 1
===中文标点===
strlen: 3
mb_strlen: 1

区别总结:

方法中文/中文标点数字英文/英文标点
strlen311
mb_strlen111

标签: none

仅有一条评论

  1. 苹果园子 苹果园子

    这样不就可以用mb_strlen计算微博中140字了么?呵呵。

添加新评论