php如何了解字符串的长度
上一篇文章中我们了解了使用“自然”算法知道字符串异同的方法,有需要的请看《php一招搞定“自然”算法比较字符串的异同(区分大小写)》。这次我们向大家介绍获取字符串的长度的方法,有需要的可以参考参考。
在php中,我们需要了解字符串的长度,方便去做一些事情,也方便了解串。那我们话不多说,这就来看一下获取字符串函数的方法吧。
首先我们来看一个小例子。
<?php echo strlen("World grand, welcome home!"); ?>
这个小例子的结果是
看到这个答案的时候,不知道小伙伴们有没有把这个字符串从头到尾数一遍。我先说,肯定要数一遍啊,万一这个函数错了呢?那我多有成就感啊。但是我从头数到尾,发现这个函数的长度还真是26。
这个函数没有问题,那我们就来说说这个函数吧。
strlen() 函数返回字符串的长度(字节数)。strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)
那我们再来看一个例子。
<?php echo strlen("世界盛大,欢迎回家!"); ?>
结果是
发现和上面例子的答案不一样了,对不对。一个参数是中文,一个参数是英文,就有这么大的区别吗?中文的加上标点符号明明才10个字,为什么这个的长度确是30,大家想过吗?
中文单词和英文单词区别当然很大。并且在各种编码下每个字母占的字节也不一样
在ASCII码下,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。
在UTF-8编码下,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。
在Unicode编码下,一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。
我们例子上所用的编码都是utf-8的,所以一个中文占三个字节。因此10个中文的长度高达30。
就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程