PHP 字符串和数组之间的转换

阅读712评论0

用PHP开发中,经常用到字符串和数组之间的转换,特总结出来,分享给大家

PHP字符串转数组

explode(separator,string,limit)
参数 描述
separator 必需。规定在哪里分割字符串。
string 必需。要分割的字符串。
limit

可选。规定所返回的数组元素的数目。

可以有的值:

  • 大于 0 - 分割成最多 limit 个元素的数组

  • 小于 0 - 返回除了最后的 -limit 个元素以外的所有数组元素

  • 0 - 返回包含一个元素的数组(即字符串视为一个元素)


<?php
$str="a,b,c,d";
$arr=array();
/*limit 0*/
$arr1=explode(",",$str,0);
/*limit 正*/
$arr2=explode(",",$str,2);
/*limit 负*/
$arr3=explode(",",$str,-1);
/*limit 空*/
$arr4=explode(",",$str);
echo "<pre>";
print_r($arr1);
print_r($arr2);
print_r($arr3);
print_r($arr4);
echo "</pre>";
?>


输出结果:

<!--limit 0-->
Array
(
    [0] => a,b,c,d
)
<!--limit 正-->
Array
(
    [0] => a
    [1] => b,c,d
)
<!--limit 负-->
Array
(
    [0] => a
    [1] => b
    [2] => c
)
<!--limit 空-->
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)


PHP数组转字符串

join() 函数是implode() 函数的别名,用法一样。

join(separator,array)
参数 描述
separator 可选。连接数组元素之间的内容。默认是 ""(空字符串)。
array 必需。要组合为字符串的数组。


<?php 
$arr=array("a","b","c","d");
/*插入为 空 */
$str1=join($arr);
/*插入为 - */
$str2=join("-",$arr);
/*implode 插入 + */
$str3=implode("+",$arr);
echo $str1."<br>";
echo $str2."<br>";
echo $str3."<br>";
?>


输出结果:

<!--join插入为 空 -->
abcd
<!--join插入为 - -->
a-b-c-d
<!--implode插入为 + -->
a+b+c+d


PS:for或foreach进行数组操作,也可以实现数组转成字符串功能,如果不是太复杂的操作,系统函数完全完胜。