PHP每日一练:获取字符串长度strlen和mb_strlen函数

900次阅读
没有评论

共计 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

正文完
 0