温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php怎么求字符串长度

发布时间:2022-06-30 09:14:01 来源:亿速云 阅读:14021 作者:iii 栏目:编程语言

这篇文章主要介绍“php怎么求字符串长度”,在日常操作中,相信很多人在php怎么求字符串长度问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么求字符串长度”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

php求字符串长度的函数有两个:1、strlen()函数,可以计算英文字符串的长度,语法为“strlen($string)”;2、mb_strlen()函数,可以通过设置字符编码,计算英文字符串、中文字符串或中英混合字符串的长度,语法为“mb_strlen($string,"字符编码")”。

php怎么求字符串长度

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在 PHP 中常用的计算字符串长度的函数有两个,分别是 strlen() 和 mb_strlen() 函数。当处理全英文字符串时,这两个函数的效果是一样的,而处理中英文混合或纯中文的字符串时,这两个函数会有一些差异:

  • strlen()函数可以计算英文字符串的长度,但对中英文混合或纯中文的字符串,无法精确计算长度。

  • mb_strlen()函数可以计算英文字符串、中文字符串或中英混合字符串的长度。

1、strlen() 函数求字符串长度

strlen() 函数可以返回给定字符串的长度,其语法格式如下:

strlen($string)
  • 参数 $string 为需要计算长度的字符串。如果 $string 为空则返回 0。

注意:在 strlen() 函数中,数字、英文、小数点、下划线和空格占一个字符长度;而一个 GB2312 编码的汉字占两个字符长度,一个 UTF-8 编码的汉字占三个字符长度。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello world!";
echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>';
?>

$str字符串包含10个英文字母、1个空格和1个英文感叹号,共12个字符,因此输出长度为12。

php怎么求字符串长度

但strlen()函数不适合用于计算中文字符串长度,因为在该函数中一个 GB2312 编码的汉字占两个字符长度,一个 UTF-8 编码的汉字占三个字符长度。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello 你好!";
echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>';
?>

php怎么求字符串长度

2、mb_strlen() 函数求字符串长度

mb_strlen() 函数同样可以返回字符串的长度,语法格式如下:

mb_strlen($str [, $encoding = mb_internal_encoding()])
  • $str 为需要计算长度的字符串

  • $encoding 是可选参数,为字符编码,如果省略则使用内部字符编码。

mb_strlen() 函数的返回值为具有 $encoding 编码的字符串 $str 所包含的字符数,如果 $encoding 无效则返回 false。

注意:与 strlen() 函数不同,在 mb_strlen() 函数中,无论是汉字,还是英文、数字、小数点、下划线和空格,都只占一个字符长度。

【示例】 使用 mb_strlen() 函数获取字符串长度。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello 你好!";
echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str,"utf-8").'<br>';

$str = "欢迎来到亿速云!";
echo '<br>字符串 “'.$str.'” 的长度为:'.mb_strlen($str,'utf-8').'<br>';
?>

php怎么求字符串长度

可以看出,我们可以通过设置对应的$encoding参数,就能很好的处理中文字符串的长度问题。

到此,关于“php怎么求字符串长度”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI