我们知道在php中要判断字符串长度我们只要使用strlen()与mb_strlen()函数既可以了,但是并不是我们想得这么简单,特别是在对中英文混合时上面函数有点力不从心哦,下面我来给各位朋友介绍。

strlen()

PHP strlen() 函数

定义和用法

strlen() 函数返回字符串的长度。

语法

strlen(string)

参数:string

描述:必需。规定要检查的字符串。

echo strlen("www.php100.com!"); //13
echo strlen("中国人!");//6 strlen得到的值是汉字个数的2倍
<?php
$str=‘中文a字1符‘;
echo strlen($str);
echo ‘<br />‘;
echo mb_strlen($str,‘UTF8‘);
//输出结果
//14
//6
?>

结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14
在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6

mb_strlen()函数

需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保

“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。

<?php
$str=‘中文a字1符‘;
//计算如下
echo (strlen($str) + mb_strlen($str,‘UTF8‘)) / 2;
echo
//输出结果
//10
?>

“中文a字1符” 的strlen($str)值是14,mb_strlen($str)值是6,则可以计算出“中文a字1符”的占位是10.

讲解这两者之间的区别

<span style="font-size:18px;"><?php
//测试时文件的编码方式要是UTF8
$str='中文a字1符';
echo strlen($str).'<br>';//14
echo mb_strlen($str,'utf8').'<br>';//6
echo mb_strlen($str,'gbk').'<br>';//8
echo mb_strlen($str,'gb2312').'<br>';//10
?> </span>

结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen

计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .

虽然上面函数可以简单解决一些中英文混合问题,但是不能用于实实际中,下面我来给各位朋友介绍其它比较好的办

php判断字符串长度 strlen()与mb_strlen()函数相关推荐

  1. php与js字符串长度怎么算,JS判断字符串长度的5个方法

    主要介绍JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.prototype.gb ...

  2. html表单判断字符数,JS判断字符串长度,结合element el-input el-form 表单验证(英文占1个字符,中文汉字占2个字符)...

    首先看看判断字符串长度的几种方法(英文占1个字符,中文汉字占2个字符) 方法一: function strlen(str) { var len = 0; for (var i = 0; i < ...

  3. php判断中文字符长度,JavaScript_JS判断字符串长度的5个方法(区分中文和英文),目的:计算字符串长度(英文占 - phpStudy...

    JS判断字符串长度的5个方法(区分中文和英文) 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var ...

  4. js判断字符串长度,and 是否包含数字,英文字母,汉字

    1.使用js判断字符串是否包含数字,英文字母,汉字 String str = "这是字符串"; 1> var a = /[0-9]/; var b = a.test(str) ...

  5. JS判断字符串长度的5个方法

    为什么80%的码农都做不了架构师?>>>    主要介绍JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字 ...

  6. shell 判断字符串长度

    shell 判断字符串长度 iput=123if [ ${#input} -eq 5 ];thenecho "5" elseecho "other" fi

  7. 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )

    文章目录 一.strlen 与 sizeof 函数 二.计算 字符串长度 与 内存块大小 一.strlen 与 sizeof 函数 strlen() 函数的作用是获取字符串大小 , 其原理是 从 内存 ...

  8. C语言-求字符串长度-strlen()与sizeof()

    需要在代码头部加上标准库<string.h> 代码示例 #include <string.h>char s1[20] = "hello world"; ch ...

  9. PHP 判断字符串长度及字符串切割问题

    1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * ...

最新文章

  1. 数据工程师生存必备工具!
  2. 15.知识产权与标准化
  3. 如何面试java后端_近期面试Java后端的一些感悟
  4. 玩转Go语言之特殊的语法
  5. redux VS mobx (装饰器配合使用)
  6. 使用setfacl实现子目录继承父目录权 限
  7. 在C++中使用Protocol Buffers
  8. 使用手机访问电脑上写的网页
  9. 自定义Android TabHost的背景及文字
  10. 助力Java初级程序员快速成长的营养书单
  11. CRC循环冗余校验码原理解析(附实例)
  12. 阿里云和域名怎么备案?
  13. Python爬虫(三):python抓取网页中的图片到本地
  14. 在Ubuntu20.04上安装ros
  15. java极简使用FastFDFS文件服务器上传图片
  16. 汽车维修企业管理【7】
  17. 英国议会上院AI报告AI in the UK-ready, willing and able附原文183页(赞赏后下载ZIP包)
  18. Linux下通过vi修改只读文件
  19. 30.kafka数据同步Elasticsearch深入详解(ES与Kafka同步)
  20. 什么是一套完全私有的即时通讯系统

热门文章

  1. 打怪小游戏(快做完了)
  2. ABAQUS均匀受力,边界条件对称,但结果云图不对称
  3. 软件设计师---程序设计语言
  4. iPhone 电池和性能
  5. 这4款风格各异的电脑软件,免费又实用,后悔没早点知道
  6. 南航与英航签署合作谅解备忘录
  7. jpi多表联查_多表连接查询详解
  8. 微信网址遮罩引导法升级版,微信自动跳转默认浏览器打开HTML
  9. 售后的设计(退换货)
  10. 【未完成】7-12 任务调度的合理性 (25 分)