PHP substr(),mb_substr(),mb_strcut()比较

1、前言:
    1)、这三个函数都用来截取字符串,所不同的是:
        substr是最简单的截取,无法适应中文;
        mb_substr是按字来切分字符串;
        mb_strcut是按字节来切分字符串,截取中文都不会产生半个字符的现象。
        
    2)、这三个函数的前三个参数完全一致,即:
        第一个参数是操作对象
        第二个参数是截取的起始位置
        第三个参数是截取的数量
        mb_substr和mb_strcut还有第四个参数:第四个参数可以根据不同的字符集进行设置
        
2、使用:
    1)、string substr ( string $string , int $start [, int $length ] )
        (1)、start
            1]、为非负数:返回的字符串将从 string 的 start 位置开始, 至字符串结尾
                代码:echo substr('abcdef', 2);
                返回:cdef
            2]、为0:返回全部字符串
                代码:echo substr('abcdef', 0);
                返回:abcdef
            3]、为负数:从结尾往前第n个,至字符串结尾
                代码:echo substr('abcdef', -3);
                返回:def
            4]、start等于字符串的长度
                返回空字符串 '';
            5]、start大于字符串的长度
                返回:bool(false)
        (2)、length
            1]、正数:从start开始,截取start后面的length长度的字符串
                代码:echo substr('abcdef', 2, 4);
                返回:cdef
            2]、如果是 0,FALSE 、 NULL ,返回一个空字符串
            3]、如果是一个负数,将从尾部计数;也即返回的字符串为从start开始至字符串结尾前|length|处,||表示绝对值。
                代码:echo substr("abcdef", 2, -1);
                返回:cde
                代码:var_dump(substr("abcdef", 4, -4));
                返回:bool(false)
                
    2)、mb_substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半个字符的现象。
        string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
        string mb_strcut ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )
        案例:
            代码:
                echo mb_strcut( '渐a行渐远渐无书!', 0, 5 ).'<br/>';
                echo mb_substr( '渐a行渐远渐无书!' ,0, 5 );
            返回:
                渐a
                渐a行渐远

PHP substr(),mb_substr(),mb_strcut()比较相关推荐

  1. PHP的截取substr mb_substr

    substr(字符串,开始处,长度)                      按照字节进行拆分 mb_substr(字符串,开始处,长度)               按照字符进行拆分 <?p ...

  2. php函数substr、mb_substr、mb_strcut截取中文比较

    一.函数说明     substr.mb_substr.mb_strcut这三个函数都用来截取字符串,所不同的是:substr是最简单的截取,无法适应中文:mb_substr是按字来切分字符串,而mb ...

  3. PHP用substr截取字符串出现中文乱码问题用mb_substr

    PHP用substr截取字符串出现中文乱码问题用mb_substr 实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8'); 语法 : string substr (strin ...

  4. php parseurl的反函数,字符串修改(处理)函数

    ltrim();//去掉字符串左空格; rtrim();//去掉字符串右空格; trim(); //去掉字符串两边空格; //去掉空格是返回一个新的字符串;原字符串不变; strlen();     ...

  5. DEDE 字符串操作常见问题

    PHP String 函数 1.substr中文乱码,使用mb_substr处理 {dede:arclist row='10' typeid='10'} <div class='titlelin ...

  6. php 中文截断,PHP中实现中文字串截取无乱码的解决方法

    在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节, ...

  7. php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决

    在之前的文章中我们给大家接好了php截取字符串的实现,以及php截取中文字符串的使用,那么我们在截取中文字符串的时候,很多时候都会出现乱码的问题,那么我们今天就给大家介绍php截取字符串出现中文乱码问 ...

  8. php 常用函数总结

    第1章 常用还是 1.1 特许用法 1.1.1 DIRECTORY_SEPARATOR=/: 1.1.2 错误提示: throw new Exception('Division by zero.'); ...

  9. php 字符串 分割,php 分割字符

    PHP 数组与字符串互转 数组转字符串: implode('!', $arr);//将一维数组以!分隔组合成一个字符串,参数一可以为"" 字符串转数组: explode('!', ...

  10. EclipsePHP Studio 3新建php文件中文乱码

    php中文乱码: 解决方法: 1,将文件的编码保存为utf-8,然后在php中加入header("Content-type:text/html;charset=utf-8"); 2 ...

最新文章

  1. [Spark][翻译]Spark 架构: Shuffle过程分析
  2. intellij idea使用的准备工作
  3. mysql冷备增量备份,MySQL备份与恢复之真实环境使用冷备(2)
  4. wxWidgets:编写一个应用程序 - 添加一个按钮
  5. HDU2161 Primes
  6. ASP.net 2.0 的 Membership Provider 与 Role Provider 第一部分——引进资源
  7. 【good】在CentOS 6.x上安装GlusterFS
  8. qq永久删除的照片怎么恢复?教你两招轻松恢复
  9. 微信小程序4-小程序的api
  10. 四川托普计算机职业学校教务管理系统,四川托普信息技术职业学院教务处
  11. adb 环境变量配置 无效
  12. VS.NET(C#)-3.13_Panel控件
  13. blink usb无线网卡驱动 linux,BLINK无线网卡驱动下载
  14. vbm 分析_MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)...
  15. android 关于报错SecurityException revoked permission android.permission.CAMERA
  16. 超赞~免费生成国庆风格微信头像API接口
  17. 可变参数模板实现可变参数字符串一定程度替代sprintf
  18. 一体的综合化云控平台
  19. 【实用】找实习找工作的看过来!法国大大小小招聘网站都在这儿
  20. Java数组数据类型

热门文章

  1. MapReduce Shuffle详解
  2. 唯一分解定理 详解(C++)
  3. debain服务器系统用什么,建站服务器系统用CentOS还是Debian 适合自己才好
  4. python写代码酷炫插件_使用 Python 制作酷炫多彩的 Jenkins 插件词云图
  5. ASP.NET连接数据库实现登录和注册
  6. [USACO06JAN]牛的舞会---洛谷P2863
  7. 国开大学计算机应用实操题作业如何上传,国开电大18秋《计算机应用基础》形考任务作业.doc...
  8. python信用卡违约预测分析_数据挖掘实战(1) : 信用卡违约率分析
  9. mysql varchar255 知乎_CHAR与VARCHAR详解
  10. 训练网络时如何加入噪声_[模型量化] 如何训练一个“耐量化”的网络?