# PHP 數組和字符串互相轉換實現方法
類型:轉載
PHP 中由于數組和字符串這兩種變量類型是如此常用,以至于 PHP 具有兩個函數,可以在字符串和數組之間互相進行轉換
復制代碼代碼如下:
~~~
$array=explode(separator,$string);?
$string=implode(glue,$array);
~~~
使用和理解這兩個函數的關鍵之處是分隔符(separator)和膠合符(glue)關系。當把一個數組轉換成一個字符串時,將會設置膠合符——將被插入到生成字符串中的數組值之間的字符或代碼。
相反,當把字符串轉換成數組時,要指定分隔符,它用于標記什么應該變成獨立數組元素。例如,以字符串開始:
~~~
$s1='Mon-Tue-Wed-Thu-Fri';
$days_array=explode('-',$s1);
$days_array 變量現在是一個有5個元素的數組,其元素 Mon 的索引為0,Tue 的索引為1,等等。
$s2=implode(',',$days_array);
$s2?
~~~
變量現在是一個用逗號分隔的一個星期中各天的列表:Mon,Tue,Wed,Thu,Fri
**例子 1\. explode() 示例?
**
復制代碼代碼如下:
~~~
<?php?
// 示例 1?
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";?
$pieces = explode(" ", $pizza);?
echo $pieces[0]; // piece1?
echo $pieces[1]; // piece2?
// 示例 2?
$data = "foo:*:1023:1000::/home/foo:/bin/sh";?
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);?
echo $user; // foo?
echo $pass; // *?
?>?
~~~
**例子 2\. limit 參數示例?
**
復制代碼代碼如下:
~~~
<?php?
$str = 'one|two|three|four';?
// 正數的 limit?
print_r(explode('|', $str, 2));?
// 負數的 limit?
print_r(explode('|', $str, -1));?
?>?
以上示例將輸出:?
Array?
(?
[0] => one?
[1] => two|three|four?
)?
Array?
(?
[0] => one?
[1] => two?
[2] => three?
)?
~~~
注: 本函數可安全用于二進制對象。