📅  最后修改于: 2023-12-03 15:09:00.205000             🧑  作者: Mango
在PHP中,我们经常需要在一个数组中添加多个值,但是又不想添加重复的值。那么该如何在不重复的情况下一次性添加到数组中呢?
这是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()函数来判断新的值是否已经存在于原始数组中。如果不存在,则添加到数组中。示例代码如下:
// 原始数组
$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()函数则较为灵活,可以根据实际情况进行优化,提高性能。