当前位置 : 主页 > 网络编程 > PHP >

php如何了解字符串的长度

来源:互联网 收集:自由互联 发布时间:2021-08-10
上一篇文章中我们了解了使用“自然”算法知道字符串异同的方法,有需要的请看《php一招搞定“自然”算法比较字符串的异同(区分大小写)》。这次我们向大家介绍获取字符串的长
上一篇文章中我们了解了使用“自然”算法知道字符串异同的方法,有需要的请看《php一招搞定“自然”算法比较字符串的异同(区分大小写)》。这次我们向大家介绍获取字符串的长度的方法,有需要的可以参考参考。

在php中,我们需要了解字符串的长度,方便去做一些事情,也方便了解串。那我们话不多说,这就来看一下获取字符串函数的方法吧。

首先我们来看一个小例子。

<?php
echo strlen("World grand, welcome home!");
?>

这个小例子的结果是

_E}[1]A7NHQJFSIP2P)Y%FO.png

看到这个答案的时候,不知道小伙伴们有没有把这个字符串从头到尾数一遍。我先说,肯定要数一遍啊,万一这个函数错了呢?那我多有成就感啊。但是我从头数到尾,发现这个函数的长度还真是26。

这个函数没有问题,那我们就来说说这个函数吧。

strlen() 函数返回字符串的长度(字节数)。strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)

那我们再来看一个例子。

<?php
echo strlen("世界盛大,欢迎回家!");
?>

结果是

`1O6}~UZGUYWF`KQF[VEH)N.png

发现和上面例子的答案不一样了,对不对。一个参数是中文,一个参数是英文,就有这么大的区别吗?中文的加上标点符号明明才10个字,为什么这个的长度确是30,大家想过吗?

中文单词和英文单词区别当然很大。并且在各种编码下每个字母占的字节也不一样

ASCII码下,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。

UTF-8编码下,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。

Unicode编码下,一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节。

我们例子上所用的编码都是utf-8的,所以一个中文占三个字节。因此10个中文的长度高达30。

就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

以上就是php如何了解字符串的长度的详细内容,更多请关注自由互联其它相关文章!

网友评论