共计 642 个字符,预计需要花费 2 分钟才能阅读完成。
获取字符串长度的 常用函数 是 strlen,另外还有一个比较特别一些的 mb_strlen
先看看 strlen 函数
参数:strlen()函数只接受一个参数 $ string,这是必需的。此参数表示需要返回其长度的字符串。
返回值:strlen()函数返回给定字符串($string)的长度,包括该字符串中包含的所有空格和特殊字符。
下面通过示例来看看 strlen()函数的使用方法。
<?php
$str = "hello PHP";
// 输出字符串的长度
echo strlen($str);
?>
输出:9
再看看另外一个函数和 strlen 做一个对比
<?php
echo mb_internal_encoding();
echo "<br/>";
$str="D.C is 中国人"; //
echo strlen($str);
echo "<br>";
echo mb_strlen($str,"utf-8");
echo "<br/>";
echo mb_strlen($str,"gbk");
?>
输出结果是:
UTF-8
16
10
12
在 strlen 计算中,对待一个 UTF8 的中文字符,处理为 3 个字节长度,所以为 3 +1+2+1+9=16 个
当 mb_strlen 的内码选择为 UTF- 8 的时候,则会将中文字符当成一个字符, 所以为 3 +1+2+1+3=10;
当 mb_strlen 的内码选择为 gbk 的时候,一个中文字符当成 1.5 个字符来处理来处理, 最后就是:3+1+2+1+4.5=11.5
正文完