在之前的文章《怎么拿捏PHP数组的类型》中我们详细的介绍了PHP中的数组类型,本篇文章我们就来看一下在PHP中怎样实现数组与字符串之间的相互转换的相关知识,希望对大家有帮助!
在PHP中最常用的两种变量类型就是数组与字符串了,在开发的过程中,难免会遇到怎样将字符串转化为数组的情况,或者是数组转化为字符串的情况。
当遇到这样的情况时,应该怎样去解决它,这两种变量类型这么常见常用,PHP中还就有两个函数能够进行字符串与数组之间的相互转换。那就是explode()
函数能够完成将字符串转化为数组,implode()
函数能够完成将数组转化为字符串。
那么接下来我们就一起来学习一下这两个函数的使用,以及怎样去实现字符串与数组之间的相互转换。
explode()
函数-字符串转化为数组
explode()
函数能够使用一个字符串去分割另一个字符串然后返回的结果是一个数组,explode()函数的语法格式如下:
explode($delimiter, $string [, $limit])
其中需要注意的是:
想要理解这个函数的关键点就在于分隔符,也就是参数$delimiter
,它表示的是用于分隔字符串的分隔字符,它是用来标记什么用来变成独立的数组元素。参数$string
表示的是用来分隔的字符串,参数$limit
是一个可选参数可以为空。
接下来我们通过示例来看一下explode()函数的用法,示例如下:
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0] . '<br/>'; // piece1 echo $pieces[1] . '<br/>'; // piece2 print_r($pieces); ?>
输出结果:
通过上述示例我们能够发现explode()函数将一个字符串转化成了一个数组,其中函数的参数$limit在上述示例中是为空。
其中需要注意的是,当参数$limit
为空
时,函数返回所有的数组元素;当参数$limit
为正数的时候,返回的数组元素所能包含的最多的数量就是填写$limit的这个数;当参数$limit
为负数的时候则返回除了最后的 $limit 个元素外的所有元素;若参数 $limit 为0被当做1。
示例如下:
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0] . '<br/>'; // piece1 echo $pieces[1] . '<br/>'; // piece2 print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , 2); print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , 0); print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , -2); print_r($pieces); ?>
输出结果:
上述示例便是通过不同的$limit 参数返回的结果不同,但是通过explode()函数都成完成了字符串向数组的转化。接下来我们看一下数组怎样转化为字符串。
implode()
-数组转化为字符串
在PHP中通过implode()
函数能够将一个一维数组转化为一个字符串,该函数的语法格式如下:
implode($glue, $array)
其中需要注意的是:$glue
可以看做是一个胶合符,它的作用呢就是将数组中的每个元素连接在一起,在默认的情况下参数$glue是一个空字符串。参数$array
表示的就是需要转化的字符串。
接下来我们通过示例来看一下implode()函数的使用,示例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; ?>
输出结果:
上述示例中,参数$glue设置为空,也就是说,这个参数可以不写,但是如果要是写了的话,那这个胶合符就会插在每个数组元素中间来进行转化为字符串。
示例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; $str = implode(',' , $arr); echo $str.'<br>'; $str = implode('---' , $arr); echo $str.'<br>'; $str = implode('/' , $arr); echo $str ?>
输出结果:
上述示例中便是通过不同的参数$glue来进行数组转换字符串。
字符串与数组的相互转换
下面我们通过示例来看一下数组与字符串之间的相互转换,示例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; $arr1 = explode(" ", $str); print_r($arr1); echo '<br/>'; $str1 = implode($arr1); echo $str1.'<br>'; ?>
输出结果:
由上述示例我们了解了通过implode()函数与explode()函数便能够完成数组与字符串之间的相互转换。
大家如果感兴趣的话,可以点击《PHP视频教程》进行