PHP -- 字符串去重

⭐️个人博客:caohongyuan.com,更多分享,欢迎浏览!⭐️

今天在做一个比较复杂的数据类型之间的转换时,遇到了一个“字符串去重的问题“。于是:

<?php  
/* 
字符串去重 
*/  
/*方法一,使用内置函数*/  
//公共函数:字符串去重函数  
$str = '1,2,3,3,3,5,4,4,5,4,7,6,,4,5';  
  
function unique($str){  
    //字符串中,需要去重的数据是以数字和“,”号连接的字符串,如$str,explode()是用逗号为分割,变成一个新的数组,见打印  
    $arr = explode(',', $str);  
    $arr = array_unique($arr);//内置数组去重算法  
    $data = implode(',', $arr);  
    $data = trim($data,',');//trim — 去除字符串首尾处的空白字符(或者其他字符),假如不使用,后面会多个逗号  
    return $data;//返回值,返回到函数外部  
}  
echo unique($str);  
?>  

方法一中使用内置函数,可以很方便的得到预期的效果, 打印出来的结果如下:

1,2,3,5,4,7,6  

当然,我对impode()并不是太熟悉,于是:

<?php  
/*方法二,用foreach循环遍历也可以*/  
//公共函数:字符串去重函数  
$str = '1,2,3,3,3,5,4,4,5,4,7,6,,4,5';  
  
function unique($str){  
    $arr = explode(',', $str);  
    $arr = array_unique($arr);  
    $data = '';  
    //使用foreach循环拼接也可以得到,得到的效果是一样的  
    foreach ($arr as $key => $value) {  
        $data .= $value.',';//拼接关键代码</span></strong>  
    }  
    $data = trim($data,',');  
    return $data;  
}  
echo unique($str);  
?> 

两者得到的结果是一样的,当然,使用php内置函数会更高效,但是方法二中,字符串的拼接思想还是值得学习的。

欢迎补充!

QEの大狮子!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值