在之前的文章中我们介绍了计算数组长度的方法,感兴趣的可以点击链接查看→《PHP数组学习之二维数组计算数组长度》。今天我们来看看字符串,了解一下英文字符串长度的计算方法
PHP中用来计算字符串长度的函数主要有两个:strlen() 和 mb_strlen() 。下面我们通过代码示例来了解一下两个函数是如何计算英文字符串长度的。
1、strlen()函数
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>'; ?>
strlen($string)
函数只接受一个参数$string
(要计算的字符串),如果该参数传递的值为空则返回 0。strlen()函数中,
(英文状态下的逗号)、数字、英文字母、小数点.
、下划线、空格等都只占一个字符长度。
在上例中,$str
字符串包含10个英文字母、1个空格和1个英文感叹号,共12个字符,因此输出结果为:
但strlen()函数不适合用于计算中文字符串长度,因为在该函数中一个 GB2312 编码的汉字占两个字符长度,一个 UTF-8 编码的汉字占三个字符长度。
2、mb_strlen()函数
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!,#%&*@"; echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str).'<br>'; ?>
同样的,mb_strlen()函数中,
、数字、英文字母、小数点.
、下划线、空格、#
、%
、&
、*
、@
都只占一个字符长度;但汉字只占一个字符长度。
在上例中,$str字符串包含10个英文字母、1个空格、1个逗号、6个其他英文符号,共18个字符,因此输出结果为:
总结:
strlen() 和 mb_strlen()函数都可以用于计算英文字符串长度;平时使用strlen()就行了,但有时是中英文混合的字符串,我们就需要使用mb_strlen()了。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家