php常用字符串长度函数strlen()与mb_strlen()用法实例分析

本文实例讲述了php常用字符串长度函数strlen()与mb_strlen()用法。分享给大家供大家参考,具体如下:

int strlen ( string $string )

int strlen ( string $string )  获取给定字符串的[字节]长度 成功则返回字符串$string的长度,如果$string为空,则返回 0。

<?php
  $str1 = "abcdef";    //输出6
  $str2 = " ab cd ";    //输出7,注意,开头、结尾、中间的空格
  $str3 = "中国你好";    //输出12,但会变化,与系统所采用的字符编码方式有关
  $str4 = "中国,你好";  //输出15,但会变化,与系统所采用的字符编码方式有关
  echo '$str1的字节长度为:'.strlen($str1).'$str2的字节长度为:'.strlen($str2).'';
  echo "<br/>";
  echo '$str3的字节长度为:'.strlen($str3).'$str4的字节长度为:'.strlen($str4).'';
?>

运行结果:

$str1的字节长度为:6$str2的字节长度为:7
$str3的字节长度为:8$str4的字节长度为:10

mb_strlen() — 获取字符串的长度

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

$str 要检查长度的字符串

$encoding,可指定字符编码,如省略则使用内部字符编码

返回值:返回具有encoding编码的字符串str包含的[字符数],多字节的字符被计为 1

<?php
  $str1 = "abcdef";    //输出6
  $str2 = " ab cd ";    //输出7    注意,开头、结尾、中间的空格
  $str3 = "中国你好";    //输出4
  $str4 = "中国,你好";  //输出5
  echo '$str1的字符长度为:'.mb_strlen($str1,"utf-8").'$str2的字符长度为:'.mb_strlen($str2,"utf-8").'';
  echo "<br/>";
  echo '$str3的字符长度为:'.mb_strlen($str3,"utf-8").'$str4的字符长度为:'.mb_strlen($str4,"utf-8").'';
?>

运行结果:

$str1的字符长度为:6$str2的字符长度为:7
$str3的字符长度为:3$str4的字符长度为:5

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP字符串长度计算 - strlen()函数使用介绍

    strlen()函数和mb_strlen()函数 在PHP中,函数strlen()返回字符串的长度.函数原型如下: 复制代码 代码如下: int strlen(string string_input); 参数string_input为要处理的字符串. strlen()函数返回字符串所占的字节长度,一个英文字母.数字.各种符号均占一个字节,它们的长度均为1.一个中午字符占两个字节,所以一个中午字符的长度是2.例如 复制代码 代码如下: <?php echo strlen("www.sunch

  • php中计算中文字符串长度、截取中文字符串的函数代码

    在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. 复制代码 代码如下: header('Content-type:text/html;cha

  • 最准确的php截取字符串长度函数

    说是最精确截取长度,其实我也不敢确定是否是最精确的,具体有多精确看下面的效果就知道了: 先上测试用的字符串: <?php header("Content-Type:text/html;charset=utf-8"); echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('ai\'2145m a ch3我[是一,个,和哈,哦也,,国家!',12); echo '<br /&

  • 自己写的php中文截取函数mb_strlen和mb_substr

    众所周知,php 自带的 strlen 与 substr 函数没法处理中文字符,于是,我们会用 mb_ 系列函数替代.但是,没有 mbstring 库怎么办?这就需要我们自己写一个来替代了,废话不多说,先上代码: 复制代码 代码如下: if ( !function_exists('mb_strlen') ) {  function mb_strlen ($text, $encode) {   if ($encode=='UTF-8') {    return preg_match_all('%(

  • php strlen mb_strlen计算中英文混排字符串长度

    比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果.(测试时编码方式是UTF8) 复制代码 代码如下: <?php $str='中文a字1符'; echo strlen($str); echo '<br />'; echo mb_strlen($str,'UTF8'); //输出结果 //14 //6 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以"中文a字1符&q

  • 浅析PHP中strlen和mb_strlen的区别

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别. 下面通过例子,讲解这两者之间的区别. 先看例子: <?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';/

  • php自定义函数实现统计中文字符串长度的方法小结

    本文实例讲述了php自定义函数实现统计中文字符串长度的方法.分享给大家供大家参考,具体如下: 中文字符计算为2个字符 英文字符计算为1个 代码 /** * 可以统计中文字符串长度的函数 * */ function abslength($str) { $len=strlen($str); $i=0; while($i<$len) { if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str

  • 利用PHP函数计算中英文字符串长度的方法

    本文实例讲述了利用PHP函数计算中英文字符串长度的方法.分享给大家供大家参考.具体实现方法如下: 一般来说大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一个字符串中字符的长度呢?还有有mb_strlen(). 具体代码如下: 复制代码 代码如下: echo $str = 'PHP点点通'; echo strlen($str); //3*1+3*3=12

  • 详解PHP中strlen和mb_strlen函数的区别

    在PHP里有两个计算字符串个数的函数一个是 strlen,一个是mb_strlen;先来看看手册中的定义strlenstrlen - 获取字符串长度int strlen ( string $string )返回给定的字符串 string 的长度. mb_strlenint mb_strlen ( string $str [, string $encoding ] )返回给定的字符串 string 的长度.encoding参数为字符编码.如果省略,则使用内部字符编码. 这么看除了mb_strlen

  • php中strlen和mb_strlen用法实例分析

    本文实例分析了php中strlen和mb_strlen用法.分享给大家供大家参考,具体如下: 首先看如下代码(文件编码utf8): <?php $utf8_string = "abcd我你他她它"; var_dump(strlen($utf8_string)); var_dump(mb_strlen($utf8_string, 'gb2312')); var_dump(mb_strlen($utf8_string, 'utf8')); var_dump(mb_strlen($ut

  • PHP中strlen()和mb_strlen()的区别浅析

    在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果. 先来看一个例子: 复制代码 代码如下: <?php  //测试时文件的编码方式要是UTF8  $str='中文a字1符';  echo strlen($str).'<br>';//14  echo mb_strlen($str,'utf8').'<br>';//6  echo mb_strlen($str,'gbk

  • PHP中preg_match函数正则匹配的字符串长度问题

    项目中,用preg_match正则提取目标内容,死活有问题,代码测得死去活来. 后来怀疑PHP 的preg_match有字符串长度限制,果然,发现"pcre.backtrack_limit "的值默认只设了100000. 解决办法:ini_set('pcre.backtrack_limit', 999999999); 注:这个参数在php 5.2.0版本之后可用. 另外说说关于:pcre.recursion_limit pcre.recursion_limit是PCRE的递归限制,这个

随机推荐