逗号分割的字符串去重方法(explode,implode)

最近碰到序列化表单提交后获得数据的ID有重复现象,如下图:

 

操作CURD前,要去掉重复的ID才行

1 $group_name = json_encode(I('post.')); //解析序列化提交的表单数据
2 preg_match('/"\d.*"/', $group_name, $id); //取数字ID的部分
3 $arr = array('"' => ''); //去掉"号方便框架CURD处理
4 $id = strtr($id[0], $arr); //获取以,号分割的id字符串
5 $ids = implode(',',array_unique(explode(',',$id))); //去掉重复的ID

 

 在这里用到两个函数:

1.implode  

定义和用法

implode() 函数返回一个由数组元素组合成的字符串。

注释:implode() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。

注释:implode() 函数的 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。

注释:该函数是二进制安全的。

语法

implode( separator,array)

 

参数描述
separator可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array必需。要组合为字符串的数组。
 
1 <?php
2     $arr = array('Hello','World!','Beautiful','Day!');
3     echo implode(" ",$arr);
4 ?>
5 //Hello World! Beautiful Day!

 2.explode

定义和用法

explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。

注释:"separator" 参数不能是一个空字符串。

注释:该函数是二进制安全的。

 1 <?php
 2     $str = "www.runoob.com";
 3     print_r (explode(".",$str));
 4 ?>
 5    // Array
 6    // (
 7    // [0] => www
 8    //[1] => runoob
 9    // [2] => com
10    // )

 


语法

explode( separator,string,limit)

 

参数描述
separator必需。规定在哪里分割字符串。
string必需。要分割的字符串。
limit可选。规定所返回的数组元素的数目。

可能的值:

  • 大于 0 - 返回包含最多 limit 个元素的数组
  • 小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
  • 0 - 会被当做 1, 返回包含一个元素的数组

技术细节

返回值:返回字符串数组。
PHP 版本:4+
更新日志:在 PHP 4.0.1 中,新增了 limit 参数。在 PHP 5.1.0 中,新增了对负数 limits 的支持。

转载于:https://www.cnblogs.com/cuculus/p/7007715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值