php的数组去重有几种方法

2023-06-07 14:56:45 php 数组 几种方法

php的数组去重常见有3种方法:1、“array_unique()”函数,可以去除数组中的重复值并返回一个新的数组;2、使用循环删除重复项,使用for或foreach循环遍历整个数组,判断是否存在重复项并删除;3、使用“array_flip()”和“array_keys()”函数,“array_flip()”函数将数组的键和值交换,“array_keys()”获取所有键名。

本教程操作系统:Windows10系统、php8.1.3版本、Dell G3电脑。

php的数组去重常见有3种方法:

1、使用array_unique()函数

array_unique()函数可以去除数组中的重复值并返回一个新的数组。

$array = array("a" => "apple", "b" => "banana", "c" => "apple");
$unique_array = array_unique($array);
print_r($unique_array);

输出结果为:

Array
(
    [a] => apple
    [b] => banana
)

2、使用循环删除重复项

使用for或foreach循环遍历整个数组,判断是否存在重复项并删除。这种方式适用于小型数组,但对于大型数组而言可能比较耗时。

$array = array("a" => "apple", "b" => "banana", "c" => "apple");
foreach ($array as $key => $value) {
  $count = 0;
  foreach ($array as $k => $v) {
      if ($v == $value) {
          $count++;
          if ($count > 1) {
              unset($array[$k]);
          }
      }
  }
}
print_r($array);

输出:

Array
(
    [a] => apple
    [b] => banana
)

3、使用array_flip()和array_keys()函数

使用array_flip()函数将数组的键和值交换,并使用array_keys()获取所有键名。由于键是唯一的,因此这有效地创造了一组不包含重复项目的结果。

$array = array("a" => "apple", "b" => "banana", "c" => "apple");
$unique_array = array_flip(array_flip($array));
print_r($unique_array);

输出为:

Array
(
    [a] => apple
    [b] => banana
)

这些方法仅是几种能够实现数组去重的方法,还有其它的方式如使用array_count_values(), array_reduce()等,供开发者根据实际需要自行掌握。

相关文章