精华内容
下载资源
问答
  • 主要介绍了php常用字符串长度函数strlen()与mb_strlen()用法,结合实例形式分析了php字符串长度函数strlen()与mb_strlen()功能、用法及相关操作注意事项,需要的朋友可以参考下
  • 先上测试用的字符串: <?php header("Content-Type:text/html;charset=utf-8"); echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12); echo ' ',cn_substr_utf8('ai\'2145m a ch3我[是一,个,和哈,...
  • php 字符串长度函数

    千次阅读 2020-08-03 10:24:27
    字符串长度函数 strlen() – 返回给定的字符串 string 的长度。 返回值:成功则返回字符串 string 的长度;如果 string 为空,则返回 0。 根据面试题整理的例子: $str = 'hello'; echo strlen($str), '<br>...

    字符串长度函数

    strlen()

    返回给定的字符串 string 的长度
    返回值:成功则返回字符串 string 的长度;如果 string 为空,则返回 0

    根据面试题整理的例子:

       $str = 'hello';
       echo strlen($str), '<br>'; //5
       
       $str1 = '中国';
       echo strlen($str1), '<br>'; //6
    
       echo strlen($str4), '<br>'; //0
    
    
    

    UTF-8 编码 一个中文占3个字节 gdk 编码 一个中文占 2字节

    下面 为 gdk 编码

    $str2 = 'hello';
    echo strlen($str2), '<br>'; //5
    $str3 = '中国';
    echo strlen($str3), '<br>'; //4
    
    echo strlen($str4), '<br>'; //0
    
    

    mb_strlen()

    — 获取字符串的长度

    返回值:返回具有 encoding 编码的 字符串 str 包含的字符数。如果给定的 encoding 无效则返回 FALSE encoding 为字符编码。

    $str = '你好中国'; 
    echo strlen($str), '<br>'; //12
    $str1 = '你好中国';
    echo mb_strlen($str1, 'utf-8'), '<br>'; //4
    
    
    
    

    gbk 两个字节一个字符
    strlen 是计算字符串 ‘字节’ 长度 – 字符串长度
    mb_strlen 是计算字符串 ‘字符’ 长度

    展开全文
  • PHP中,函数strlen()返回字符串长度,strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均占一个字节,它们的长度均为1
  • 主要介绍了PHP生成自定义长度随机字符串函数分享,需要的朋友可以参考下
  • 这里,我们假设‘\0’是PHP字符串的结束标识符,则获取字符串的长度函数则为: <?php function get_str_length($str) { $index = 0;//记录字符串长度的变量 while($str[$index]!='\0')//用数组方式读取字符串...

    在PHP中,可以通过预定义函数strlen()获取字符串的长度,那如何自定义这个函数,或者这个函数实现的原理是怎样的呢?

    原理:当我们获取一个字符串时,先查看字符串中第一个字符是不是字符串的结束符,如果不是,则认为有一个长度了,设置一个变量加1,反之,返回这个记录长度的变量。

    这里有一个关键,就是字符串的结束标识符是什么?我们知道,在C中,结束符是'\0',可它不是PHP中字符串的结束标识符(到底是什么,我也不知道,没查到)。这里,我们假设‘\0’是PHP字符串的结束标识符,则获取字符串的长度函数则为:

    <?php
        function get_str_length($str)
        {
             $index = 0;//记录字符串长度的变量
             while($str[$index]!='\0')//用数组方式读取字符串中字符,如果不是结束符,则长度加1
             {
                  $index++; 
             }
             return $index;
        }
    ?>

    然而,PHP中结束符并不是'\0',所以这样不行。

    怎么办呢?可以使用PHP的预定义函数 isset()实现。

    原理:当索引到字符串的结束位置的值时,是未定义的,返回false,其他字符返回true。

    比如字符串:

    <?php
       $str='hello world';//11个长度
       var_dump(isset($str[11]));//返回的false,只有下标超过了字符串的长度时,才返回false,相当于没定义这个变量
    ?>

    知道这个原理就简单了:

    <?php
        function get_str_length($str)
        {
             $index = 0;//记录字符串长度的变量
             while(isset($str[$index]))//用数组方式读取字符串中字符,当没有超过字符串长度时,返回true
             {
                  $index++; 
             }
             return $index;
        }
    ?>

    好了,这个函数就能实现预定义函数strlen()的功能啦!

    补充:isset()函数

    简单的说,如果变量被定义了,返回true,反之,返回false。

    严谨点,变量被定义了,并且值不是null时,返回true,反之false.

    <?php
       $a = null;//这个变量定义了,但是值为null
       var_dump($a);//返回的是false,虽然被定义了
    ?>

     

    转载于:https://my.oschina.net/u/3618644/blog/1523483

    展开全文
  • PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启... /** * 可以统计中文字符串长度函数 * @param $str 要
  • 1、字符串长度函数:  (1)、strlen():计算 字符串中 字节 的长度;  (2)、mb_strlen():根据字符编码,计算 字符串中 字符 的个数;如果没有第二个参数(字符编码类型),则使用内部字符编码;  (3)、...

    1、字符串长度函数:


         (1)、strlen():计算 字符串中 字节 的长度;

         (2)、mb_strlen():根据字符编码,计算 字符串中字符 的个数;如果没有第二个参数(字符编码类型),则使用内部字符编码;

         (3)、mb_internal_encoding():设置/获取内部字符编码,echo mb_internal_encoding();得到的内部字符编码为 ISO-8859-1(单字节);

    <?php
    // utf-8 格式下编码;
    $str = 'hello world!';
    
    $sss = '中华民国';
    
    echo mb_strlen($str);          // 12;    英文,12个 字符数;
    echo mb_strlen($sss,'utf-8'); //   4;    utf-8 字符编码下,字符串 $sss的 字符 个数是 4; 在utf-8的格式下进行编辑的;
    echo mb_strlen($sss);         // 12;     这个是为什么呢? 初步理解为:没有第二个参数,使用的是默认字符编码,ISO-8859-1是单字节编码,12个字节数(4个中文字符占用12个字节);得出12个字符;
    echo mb_strlen($sss,'gbk');  // 6;       第二个参数是'gbk',为什么不是4呢?而不是6?   后续重点再回头理解;
    
    ?>



    2、字符串查找函数:     字符串(str)中是否存在???  (第二个参数)。从哪里开始找??(第三个参数);


         (1)strpos():查找 目前字符串 在 指定字符串 中 第一次出现的位置; 

                 注意:由于字符串的下标是从数字 “0”开始的,所以第一次出现的位置 有可能是0,故判断存在不存在的时候,条件表达式应为:if(strpos()!== false);

    <?php
    
    $str = 'hello this is lilei,he is a fine boy';
    
    echo strpos($str,'he');    //    he 第一次出现的位置 是 0;
    
    echo strpos($str,'is');    //    is 第一次出现的位置 是 8;
    
    echo strpos($str,'is',9);    //    is 第2次出现的位置 是 11;   第三个参数 “9” 表示从第9的位置开始查找; 如果为 “-9”时候,则从末尾开始数,第9个位置开始查找;
    
    ?>


       (2)、strrpos():查找 目前字符串 在 指定字符串 中 最后一次出现的位置;r(right) 右边的意思,即最后一次,右边第一次;

      (3)、stripos():首次出现时的位置(不区分大小写);strripos():最后一次出现时的位置(不区分大小写);

    <?php
    
    // 计算中 查询字符串 在 目标字符串中 出现的次数;    也可以直接用内置函数:substr_count();
    
    
    $str = 'hello this is lilei,he is a fine boy';
    
    $substr = 'is';
    
    function subnum($str,$substr){
    	
    	$strlens = strlen($str);                  //  计算目标字符串的长度;
    	$substrlens = strlen($substr);            //  计算 查询 字符串 的长度;
    	
    	if($substrlens > $strlens){
    		
    		return 0;
    	}
    	
    	for($sum = 0,$offset = 0;($offset = strpos($str,$substr,$offset)) !== false; $offset += $substrlens, $sum++){
    
    // offset是偏移量,这里表示子字符串在字符串中出现的位置;		
    // 所以,$offset(出现的位置)!==false 是永远成立的;即:数字 !== false;		
    // $offset < $length;这个是恒成立的,查询的字符出现的位置,永远小于字符串长度;
    		
    		
    		//注意:1、此for循环语句内部可以没有语句,第一个分号前表示初始化;第二个分号前表示成立的条件;第二个分号后,表示成立后,执行的语句;
    		//注意:2、($offset = strpos($str,$substr,$offset)) !== false;中,一定要设置$offset = strpos($str,$substr,$offset);如果只设置strpos($str,$substr,$offset)) !== false的时候,会出错,这样只会从(0+子字符串长度)+字串长度;而不是从查询到的位置+字串长度了;
    	               //strpos($str,$substr,$offset) 他查询到 得出的值(位置)先赋给$offset,改变$offset他的初始偏移位置(查询到的位置+子字符串位置),然后再次新的起始位置查询;
    
    	}
    	return $sum;
    }
    
    echo subnum($str,$substr);   //  is 出现了 3 次在$str字符串中;
    
    
    echo substr_count($str,$substr);   //  通过内置函数计算,输出的结果 同样为 3;
    
    
    ?>

    3、字符串 截取 函数:          


         (1)、substr():返回字符串的一部分;   从哪开始截,截几个; 是按照 字节 来进行计算截取的;

    <?php
    
    $str = 'fdghfhjgh';
    
    echo substr($str,2,-5);  //结果为“gh” ;从哪开始截取,截几个,若没有第三个参数则截取到末尾,若参数为负数,则从右边末尾开始计算;倒数第几个开始截,截取到哪(省略、舍弃几个);
    
    ?>


    注意:此substr函数中第三个参数,即length(截取几个/截取到哪),如果设置成0,false或者是null的时候,则返回空字符串;这一点和数组 截取 函数 array_slice ()有些区别,array_slice()函数的第三个参数length(截取几个/截取到哪)的默认值是NULL,即:此参数如果没有实参赋值的时候,则取其默认值NULL;一直截取到末尾表示;


        (2)、strstr():查找字符串的在首次原始字符串中首次出现,并返回字符串的一部分;  字符串中是否存在?

                                stristr():忽略大小写;  

    <?php
    
    $sss = '我是一个中国人';
    
    $str = 'sdfs dgfddfh f';
    
    echo strstr($sss,'一个');    // 一个中国人;
    
    echo strstr($str,'fs',TRUE);  // sd  
    
    // 注意:第三个形式参数默认值是FALSE,如果不设置第3个参数,则返回后一部分字符串,如果设置了实参TRUE,则返回 第一次出现 的 前 一部分字符串;
    
    ?>

    (3)、strrchr():字符 在字符串中最后一次出现(从右边看,第一次);

     

    <?php
    
    $str = 'sdfs dgfddx1x00fh fsdfs dgfddx1x00fh f';
    
    echo strrchr($str,'00');  // 0fh f  ;  注意:strrchr()是针对指定的 ’字符‘(没有串)来进行匹配操作的;如果不是一个字符,则使用第一个字符; 这个是和strstr第一个不一样的地方;
    
    // '00'是个字符串,不是一个字符,则会使用第一个字符:即'0'; 所以此语句相当于:echo strrchr($str,'0');
    
    echo strrchr($str,'1x');  // 1x00fh f
    
    // 注意:此函数和strstr第2个不同的地方在于:没有第3个默认值是FALSE的参数,即,不能返回字符的前一部分;     可以通过字符串反转函数strrev()来实现;
    
    ?>


    <?php
    
    $str = 'sdfs dgfddx1x00fh fsdfs dgfddx1x00fh f';
    
    echo strrchr($str,'1'),'<br/>';    //  1x00fh f;
    
    echo strrev(strstr(strrev($str),'1')); // sdfs dgfddx1x00fh fsdfs dgfddx1  ,通过字符串反转strrev()函数,可以得出其 字符 位置的前一部分;
    
    ?>


    展开全文
  • 本文实例讲述了php自定义函数实现统计中文字符串长度的方法。分享给大家供大家参考,具体如下: 中文字符计算为2个字符 英文字符计算为1个 代码 /** * 可以统计中文字符串长度函数 * */ function abslength($str...
  • 主要介绍了PHP中preg_match函数正则匹配的字符串长度问题,如果你也遇到了preg_match正则提取内容时总是空白或提取不到的话,那就可能是遇到了这个问题啦,需要的朋友可以参考下
  • 主要介绍了利用PHP函数计算中英文字符串长度的方法,实例对比了PHP函数实现方法与正则表达式的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
  • php中常见的计算字符串长度函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 在PHP中,strlen与mb_strlen是求字符串长度函数,但是对于...
  • PHP 字符串操作 strlen()函数 获取字符串长度
  • php里当需要判断一个字符串长度时,我们首先想到的是strlen()函数,不错,strlen()返回的就是字符串的长度,这样使用没有任何问题。不过,如果要从php程序优化的角度来看,使用strlen()判断字符串长度未免是最好的...
  • PHP中,字符串函数 strlen() 用来获取字符串长度函数语法: strlen(string$string):int 函数参数说明: 参数 描述 string 必需。规定要检查的字符串。 strlen() 用来获取字符串长度。成功则返回...

     在PHP中,字符串函数 strlen() 用来获取字符串长度。

        函数语法:

    strlen ( string $string ) : int

        函数参数说明:

    参数描述
    string必需。规定要检查的字符串。

        strlen() 用来获取字符串长度。成功则返回字符串 string 的长度;如果 string 为空,则返回 0。

        举例1,获取字符串长度(纯英文字符)   

    <?php
    // 获取字符串长度
    $rawStr = 'hello world';
    $res = strlen($rawStr);
    
    echo $res;

        以上代码输出如下:

    11

        举例2,获取字符串长度(含中文字符)   

    <?php
    // 获取字符串长度(含中文)
    $rawStr = 'hello 世界';
    $res = strlen($rawStr);
    
    echo $res;

        以上代码输出如下:

    12

        注意:

            在PHP中,一个中文字符用3个字节表示,因此上面的字符串长度计算为12。如果要计算包含中文字符串的长度,请使用多字节 mb_strlen() 函数。

    展开全文
  • // $I_len1 (目标字符串长度的下限) // $I_len2 (目标字符串长度的上限) // 返回值:布尔值 // 备 注:无 //———————————————————————————– function CheckLengthBetween($C_cahr, $...
  • 根据Scrapy的指纹生成方式,这次的指纹生成方式也是用hash的MD5对目标URL进行加密,生成固定长度字符串,然后在数据库里面将字段设置成unique,这样的话在保证url固定长度的情况下还能够保证入库后的唯一性,进...
  • strlen()函数和mb_strlen()函数PHP中,函数strlen()返回字符串长度函数原型如下: 复制代码 代码如下: int strlen(string string_input); 参数string_input为要处理的字符串。 strlen()函数返回字符串所占的...
  • 本文实例讲述了php字符串分割函数用法。分享给大家供大家参考。具体分析如下: php中explode 和 split 函数用来分割字符串。 explode函数语法如下 explode(substring, string) explode函数通过子字符串进行分割,...
  • php程序中字符串长度判断,可以使用strlen。 方法一: $str = ‘aaaaaa'; if(strlen($str) > 6){ echo 字符串大于6; } 方法二: if(isset($str{6}){ } 以上两种方法,第二种效率更高些。 在PHP中,所有的变量都...
  • 主要介绍了PHP字符串长度的截取用法,结合实例形式分析了mb_substr函数截取中文字符串的相关操作技巧与注意事项,需要的朋友可以参考下
  • /** * 将字符串填充成指定长度字符串(多字节安全) * @param string $str 指定被填充的字符串 * @param int $len 指定被填充的字符串长度,如果值为负数或小于字符串长度则不填充 * @param string $pad_str 要...
  • 主要介绍了php指定长度分割字符串str_split函数用法,结合实例形式分析了str_split函数分割字符串的具体操作技巧,需要的朋友可以参考下
  • 包括,计算字符串长度、分割字符串、查找字符串等等各个方面。1.AddSlashes: 字符串加入斜线。 2.bin2hex: 二进位转成十六进位。 3.Chop: 去除连续空白。 4.Chr: 返回序数值的字符。 5.chunk_split: 将字符串分成小...
  • 本文实例讲述了PHP常见字符串操作函数与用法。分享给大家供大家参考,具体如下: 一、字符串的格式化 1、字符串的格式化 trim()函数可以去除字符串的开始位置和结束位置的空格,并将结果字符串返回,默认情况下去除...
  • addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,186
精华内容 27,674
关键字:

php字符串长度函数