php数组去重函数
1php数组去重函数
PHP有内置的去重函数array_unique(),该函数可以去除一个数组中重复的元素,并返回一个新数组。其语法如下所示:

```php
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
```

其中,$array为需要去重的数组,$sort_flags为可选参数,用于指定排序方式(默认是按字符串排序)。返回的是去重后的新数组。

示例代码:

```php
$arr = array(1,2,3,4,4,5,5,6);
print_r(array_unique($arr));
//输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [5] => 5 [6] => 6 )
```

如果需要自定义去重规则,也可以写出自定义函数来进行去重。比如,要将数组中相同字母的所有元素合并,可以写出如下的代码:

```php
function unique_letters($array) {
$result = array();
foreach ($array as $elem) {
$key = join("", array_unique(str_split($elem)));
if (!array_key_exists($key, $result)) {
$result[$key] = $elem;
} else {
$result[$key] .= "," . $elem;
}
}
return array_values($result);
}

$arr = array("abc", "bcd", "abd", "ac");
print_r(unique_letters($arr));
//输出:Array ( [0] => abc,bcd,abd [1] => ac )
```

该函数首先将每个字符串去重后作为$key,然后以$key为索引存入结果数组$result。如果$key已经存在,将当前元素和结果数组中已有的元素以逗号串起来,保存在$result[$key]中。最后用array_values函数将$result中的元素重新索引,形成一个新的数组返回。
本页由《梦行文档》生成

 

name完成
30