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
区别总结:
方法 | 中文/中文标点 | 数字 | 英文/英文标点 |
---|---|---|---|
strlen | 3 | 1 | 1 |
mb_strlen | 1 | 1 | 1 |
这样不就可以用mb_strlen计算微博中140字了么?呵呵。