字符串去重和数组去重

字符串去重:

<?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

<?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内置函数会更高效,但是方法二中,字符串的拼接思想还是值得学习的。

数组去重

使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组。

但是,如果你尝试在一个大的数组里使用array_unique()函数,它会运行地慢一些。点这里查看PHP 快速实现数组去重解决方案

总结:字符串去重和数组去重,面试中经常会问到!共同的核心函数就是:array_unique()


关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。