目录

【1】chunk_split — 将字符串分割成小块

【2】str_split — 将字符串转换为数组

【3】explode— 使用一个字符串分割另一个字符串,返回新的数组

【4】implode(join)— 将一个一维数组的值转化为字符串

【5】strtok — 标记分割字符串

【小结】


【1】chunk_split — 将字符串分割成小块

作用:使用此函数将字符串分割成小块非常有用。该函数不改变原始字符串。
函数:chunk_split ( string $body [, int $chunklen , string $end ] ) : string
参数:$body要分割的字符串 $chunklen分割尺寸默认76 $end行尾序列符号默认\r\n
返回值:返回分割后的字符。
$str = 'Hello Tacks!';
echo $str,'<br/>';
echo chunk_split($str,12,'...'),'<br/>';#Hello Tacks!...
#按照尺寸分割字符串,并且追加每个分割后 结尾字符

【2】str_split — 将字符串转换为数组

作用:按照等尺寸将字符串转换为数组
函数:str_split ( string $string [, int $split_length = 1 ] ) : array
参数:$string 字符串  $split_length每一段的长度,默认为1
返回值:返回字符串,其中split_length如果小于1则会返回False,如果超过字符串长度,就按照字符串长度当成数组的一个元素。
$str = "123456789";
$arr = str_split($str);#一个字符当作数组的一个单元
var_dump($arr);
$arr = str_split($str,3);#每三个字符当作数组的一个单元
var_dump($arr);
$arr = str_split($str,99);#整个字符串当作数组的一个单元
var_dump($arr);
$arr = str_split($str,0);
var_dump($arr);#返回FALSE并警告

【3】explode— 使用一个字符串分割另一个字符串,返回新的数组

作用:使用一个字符串分割另一个字符串。每个元素都是 string 的一个子串它们被字符串 $delimiter 作为边界点分割出来
函数:explode ( string $delimiter , string $string [, int $limit ] ) : array
参数:$delimiter    边界上的分隔字符。 $string   输入要进行分割的字符串。    $limit      如果设置limit参数并且是正数,则返回的数组包含最多limit个元素,而且最后哪个元素将包含string的剩余部分。如果limit参数是负数,则返回最后的-limit个元素外的所有元素。如果limit是0,则会当作1
返回值:此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。
备注:如果 $delimiter 为空字符串(""),explode() 将返回 FALSE。 如果 $delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit。那么会返回空的 array, 否则返回包含 string 单个元素的数组。
//使用一个字符串打散成数组
$str = 'tacks1 tacks2 tacks3 tacks4 tacks5';
var_dump(explode('',$str));//boolean false //空的$delimiter 会返回False并且报错。
var_dump(explode(' ',$str));//按照空格分开每个子串成为数组。
var_dump(explode(' ',$str,3));//数组元素为3个,前连两个按照指定的字符分割,剩下的全部挡在组后一个数组元素
var_dump(explode(' ',$str,-1));//在分割后的数组,删除最后一个元素tacks5
var_dump(explode('AAA',$str,0));//如果字符串中没有$delimiter,那么会全部当成数组的一个单元
/*
boolean false
array (size=5)0 => string 'tacks1' (length=6)1 => string 'tacks2' (length=6)2 => string 'tacks3' (length=6)3 => string 'tacks4' (length=6)4 => string 'tacks5' (length=6)
array (size=3)0 => string 'tacks1' (length=6)1 => string 'tacks2' (length=6)2 => string 'tacks3 tacks4 tacks5' (length=20)
array (size=4)0 => string 'tacks1' (length=6)1 => string 'tacks2' (length=6)2 => string 'tacks3' (length=6)3 => string 'tacks4' (length=6)
array (size=1)0 => string 'tacks1 tacks2 tacks3 tacks4 tacks5' (length=34)*/

【4】implode(join)— 将一个一维数组的值转化为字符串

与上面explode()函数正好相反。

作用:将一个一维数组的值按照特定的字符串$glue转化为字符串。
函数:implode ( string $glue , array $pieces ) : stringjoin ( string $glue , array $pieces ) : string(join是implode的别名)implode ( array $pieces ) : string (最好不用)
参数:$glue 默认为空的字符串作为粘合数组每个元素  $pieces你想要转化的数组
返回值:返回一个字符串,其内容为由 glue 分割开的数组的值。
备注:因为历史原因,implode() 可以接收两种参数顺序,也就是第一个参数$glue也可以不写。但是最好还是些两个参数向后兼容。而且第二个参数必须是一维数组。
$arr = ['tacks1','tacks2','tacks3','tacks4','tacks5'];
echo implode(',',$arr),'<br/>';//tacks1,tacks2,tacks3,tacks4,tacks5
echo implode($arr),'<br/>';//tacks1tacks2tacks3tacks4tacks5
echo join('-',$arr),'<br/>';//tacks1-tacks2-tacks3-tacks4-tacks5

【5】strtok — 标记分割字符串

作用:strtok() 将字符串 str 分割为若干子字符串,每个子字符串以 token 中的字符分割。
函数:strtok ( string $str , string $token ) : stringstrtok ( string $token ) : string
参数:$str 被分成若干子字符串的原始字符串。$token 分界字符,可以使用多个字符,字符串将被该参数中任何一个字符分割。
返回值:标记后的字符串。
备注:仅第一次调用 strtok 函数时使用 string 参数。后来每次调用 strtok,都将只使用 token 参数,因为它会记住它在字符串 string 中的位置。如果要重新开始分割一个新的字符串,你需要再次使用 string 来调用 strtok 函数,以便完成初始化工作。
$string = "TACKS Tacks tacks";
$tok = strtok($string, " ");#使用空格来分割字符串
echo $tok,'<br/>';//第一个字串
$tok = strtok(" ");//-------向后移动
echo $tok,'<br/>';//第二个字串
$tok = strtok(" ");//-------向后移动
echo $tok,'<br/>';//第三个字串
//当然我们可以用循环来解决
$tok = strtok($string, " ");#使用空格来分割字符串
while($tok != false){#使用循环来解决echo 'str=',$tok,'<br/>';$tok = strtok(" ");//移动下一个分割位置
}

【小结】

  1. chunk_split($body,$chunklen,$end)按照长度$chunklen分割字符串$body,然后再每个子串后面加上指定$end结束字符,然后返回整个字符串。
  2. str_split($string,$split_length)把$string字符串按照$split_length长度分割成子串组成数组。
  3. explode($delimiter,$string,$limit)把$string字符串按照$delimiter分界点分割成子串然后组成指定$limit元素个数的数组。
  4. implode($glue,$pieces)把$pieces一维数组按照特定的$glue连接符连接每两个字符,最后合并成一个字符串。
  5. strtok($str,$token)把$str字符串按照$token分界符,进行依次分割成每个字符串。

PHP字符串分割相关函数相关推荐

  1. python小白——进阶之路——day6天---字符串相关相关函数,格式化(format)

    # ### 字符串相关函数 (函数就是方法的意思,完成某个功能) """ 语法: 字符串.函数  """ *capitalize 字符串首字 ...

  2. PHP 字符串分割 explode 与 str_split 函数

    PHP 字符串分割 用于分割字符串. 相关函数如下: ·        explode():使用一个字符串分割另一个字符串 ·        str_split():将字符串分割到数组中 explod ...

  3. Go 学习笔记(51)— Go 标准库之 strings(字符串比较、字符串前后缀、字符串统计、字符串索引、字符串包含、字符串转换、字符串复制、字符串替换、字符串去除、字符串分割和连接)

    1. 概述说明 import "strings" strings 包实现了用于操作字符的简单函数. strings 包与 bytes 包中的函数用法基本一样. 2. 主要函数 2. ...

  4. 字符串分割split

    字符串分割split c标准库: void cSplit() {char* pStr = const_cast<char*>("hello,world");char* ...

  5. C++文件读写——字符串分割

    文章目录 字符串分割 字符串分割 void String_Split(string s, string delim, vector<string> &ans) {string::s ...

  6. R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂、split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串、str_split_fixed

    R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂.split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串.str_split_fixed ...

  7. java字符串分割性能_String字符串性能优化的几种方案

    反编译后的代码: 1 //Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.2 //Jad home page:http://www ...

  8. java按特殊标志截取_java 字符串分割处理split及特殊符号

    String类型的对象在 用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊 字符作为分割标志的时候,不使 ...

  9. oracle字符串提取函数,oracle字符串分割和提取函数定义

    oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...

最新文章

  1. spoj String To Binary(数字转二进制、读取数字和字符串)
  2. 【C语言】控制台窗口图形界面编程(六):光标设置
  3. 2021年高考成绩查询贵州分数线,2021年贵州省高考分数线
  4. Vue cli3.0创建Vue项目
  5. python中什么最重要_Python 3中被忽视了的三大重要功能
  6. [django]django模型中auto_now和auto_now_add
  7. Python 用pygame模块播放MP3
  8. python 对redis key的基本操作
  9. windows快速打开命令窗口方式[利刃篇]
  10. 构造函数= default;_C++核心准则C.46:默认状态下明确定义单参数构造函数
  11. RDP报表设置Tomcat服务自动启动详细教程
  12. 有趣有用的PCA——PCA压缩图片
  13. PIC单片机学习笔记
  14. 信息学竞赛与 计算机科学,在信息学奥林匹克竞赛中我与学生共成长
  15. 算法常用术语中英对照
  16. vs2008gridview自带删除功能代码怎么实现
  17. 谨以此篇献给即将奔三十的人们
  18. 前端将List列表转化为树型结构(reduce函数)
  19. js将数字转换为汉字
  20. 小米AX9000安装docker的Portainer面板从社区版升级到商业版参考

热门文章

  1. Solidworks、Proe、Creo、UG史上最全的全套教学视频240G
  2. html css做椭圆,css实现椭圆
  3. unity-打包及发布
  4. 2020-11-03Paderborn大学轴承数据集
  5. UG锌合金五金压铸模具设计分模排位详细视频教程
  6. catia圆管焊接焊接_CATIA焊接教程
  7. 全球及中国激光防护镜行业投资机会分析研究及企业经营战略建议报告2022-2027年版
  8. 穆利堂强烈推荐商业模式新生代.ppt
  9. 使用Keil仿真和SaleaeLogic16观察引脚电平变化
  10. 智能马桶、智能浴霸雷达存在感应,雷达传感器技术