欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何了解字符串的长度

程序员文章站 2022-03-06 20:10:29
...
上一篇文章中我们了解了使用“自然”算法知道字符串异同的方法,有需要的请看《php一招搞定“自然”算法比较字符串的异同(区分大小写)》。这次我们向大家介绍获取字符串的长度的方法,有需要的可以参考参考。

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

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

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

这个小例子的结果是

php如何了解字符串的长度

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

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

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

那我们再来看一个例子。

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

结果是

php如何了解字符串的长度

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

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

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

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

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

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

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

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

相关标签: php