如果你真的想使用explode 和implode,你可以这样做:
首先,分解你拥有的字符串:
$data= "a,b,c,d,e";
$list = explode(',', $data);
var_dump($list);
这会给你:
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
4 => string 'e' (length=1)
然后,添加新元素:
$to_add = array('cc', 'gg');
$new_list = array_merge($list, $to_add);
var_dump($new_list);
$new_list 现在是:
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
4 => string 'e' (length=1)
5 => string 'cc' (length=2)
6 => string 'gg' (length=2)
最后,内爆 $new_list,使用 ',' 作为分隔符:
$output = implode(',', $new_list);
var_dump($output);
你会得到:
string 'a,b,c,d,e,cc,gg' (length=15)
当然,如果你从一个数组开始,那就少了一次爆炸;如果您要添加的数据不是数组,那就更要爆炸了……
但是,正如Rob pointed out,在您介绍的简单情况下,不需要这么复杂的代码:字符串连接就足够了;-)
基于数组/爆炸/内爆的解决方案的优点是您可以在将最终数组内爆成字符串之前对其进行处理(例如,您可以对其进行排序)