📜  如何在不重复的情况下一次性添加到数组中 - PHP (1)

📅  最后修改于: 2023-12-03 15:09:00.205000             🧑  作者: Mango

如何在不重复的情况下一次性添加到数组中 - PHP

在PHP中,我们经常需要在一个数组中添加多个值,但是又不想添加重复的值。那么该如何在不重复的情况下一次性添加到数组中呢?

方法一:使用array_unique()函数

这是PHP内置的函数,可以删除数组中的重复值,并返回新的数组。我们可以使用array_unique()函数来过滤掉重复值,然后再将新的值添加到数组中。示例代码如下:

// 原始数组
$arr = array('apple', 'banana', 'orange', 'banana');

// 使用array_unique()函数过滤掉重复值,并将新的值添加到数组中
$arr = array_merge($arr, array_unique(array('orange', 'pear', 'banana')));

print_r($arr);

输出结果为:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
方法二:使用in_array()函数进行判断

另一种方法是使用in_array()函数来判断新的值是否已经存在于原始数组中。如果不存在,则添加到数组中。示例代码如下:

// 原始数组
$arr = array('apple', 'banana', 'orange', 'banana');

// 需要添加的新值
$newArr = array('orange', 'pear', 'banana');

foreach ($newArr as $value) {
    if (!in_array($value, $arr)) {
        $arr[] = $value;
    }
}

print_r($arr);

输出结果为:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
总结

以上两种方法都可以在不重复的情况下一次性添加到数组中。使用array_unique()函数的方法比较简单,但是可能会有一些性能上的损失,因为需要创建一个新的数组来存储去重后的值。使用in_array()函数则较为灵活,可以根据实际情况进行优化,提高性能。