浅析php获取数组中不重复值的几种方法

PHPz
PHPz 原创
2023-04-12 11:30:44 301浏览

在 PHP 编程中,使用数组可以方便地存储和处理一组数据。然而,有时候我们需要从数组中获取不重复的值。本文将介绍几种获取数组中不重复值的方法。

方法一:使用 array_unique() 函数

PHP 中的 array_unique() 函数可以去除数组中的重复值,并返回不重复的值组成的新数组。

示例代码:

$array = array("apple", "banana", "apple", "orange", "banana");
$new_array = array_unique($array);
print_r($new_array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [3] => orange
)

方法二:使用 array_count_values() 函数

PHP 中的 array_count_values() 函数可以统计数组中每个值出现的次数,并返回一个新数组,其中键是原数组的值,值是该值在原数组中出现的次数。

我们可以利用这个函数,进一步筛选出原数组中只出现一次的值。示例代码:

$array = array("apple", "banana", "apple", "orange", "banana");
$count_array = array_count_values($array);
$new_array = array();
foreach ($count_array as $key => $value) {
    if ($value == 1) {
        array_push($new_array, $key);
    }
}
print_r($new_array);

输出:

Array
(
    [0] => orange
)

方法三:使用 array_keys() 函数

PHP 中的 array_keys() 函数可以返回一个包含数组所有键值的新数组。如果原数组中有重复值,那么重复值的键只会被保留一次。

我们可以利用这个函数,获取原数组中的所有键,再根据这些键获取对应的值。示例代码:

$array = array("apple", "banana", "apple", "orange", "banana");
$key_array = array_keys($array);
$new_array = array();
foreach ($key_array as $key) {
    $value = $array[$key];
    if (array_keys($new_array, $value) == false) {
        array_push($new_array, $value);
    }
}
print_r($new_array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [3] => orange
)

方法四:使用 array_diff() 函数

PHP 中的 array_diff() 函数可以计算两个或多个数组的差集,并返回一个在第一个数组中存在,但在其他数组中不存在的值组成的新数组。

我们可以将原数组和一个空数组进行差集运算,得到的新数组即为原数组中不重复的值。示例代码:

$array = array("apple", "banana", "apple", "orange", "banana");
$new_array = array_diff($array, array());
print_r($new_array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [3] => orange
)

综上所述,我们可以使用多种方法获取 PHP 数组中不重复的值。根据实际情况选择合适的方法,可以提高程序的效率。

以上就是浅析php获取数组中不重复值的几种方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。