php如何去掉数组内重复元素

php去掉数组内重复元素的方法:1、使用“array_unique()”函数,去除数组中的重复数据;2、通过foreach循环遍历,通过定义一个新的数组存储不重复的数据的方法实现去重;3、使用array_flip()和array_keys()函数,可得到去重后的数组;4、使用array_filter()函数,通过使用该函数结合匿名函数的方式对原始数组进行去重。

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

php去除数组内重复元素的方法

方法一:使用array_unique()函数

php中的array_unique()函数可用于去除数组中的重复数据。该函数接受一个数组作为参数并返回一个新的数组,该数组不包含重复的值。

示例代码:

1

2

3

$arr = array(1, 2, 2, 3, 4, 4);

$arr_unique = array_unique($arr);

print_r($arr_unique);

登录后复制

输出结果:

1

2

3

4

5

6

Array

(

[0] => 1

[1] => 2

[3] => 3

[4] => 4)

登录后复制
登录后复制
登录后复制

方法二:使用foreach循环遍历

除了使用array_unique()函数外,我们还可以通过循环遍历的方式实现去重。具体步骤如下:

定义一个新的数组,用于存储不重复的数据。遍历原始数组,将每个元素与新数组中的每个元素逐一比较,如果重复则跳过,不重复则将元素添加到新数组中。

示例代码:

1

2

3

4

5

6

7

8

$arr = array(1, 2, 2, 3, 4, 4);

$new_arr = array();

foreach ($arr as $value) {

if (!in_array($value, $new_arr)) {

$new_arr[] = $value;

}

}

print_r($new_arr);

登录后复制

输出结果:

1

2

3

4

5

6

Array

(

[0] => 1

[1] => 2

[3] => 3

[4] => 4)

登录后复制
登录后复制
登录后复制

方法三:使用array_flip()和array_keys()函数

php中的array_flip()函数可用于将数组中的键和值互换。通过将原数组进行键值互换后再使用array_keys()函数获取其中的键,即可得到去重后的数组。

示例代码:

1

2

3

$arr = array(1, 2, 2, 3, 4, 4);

$new_arr = array_keys(array_flip($arr));

print_r($new_arr);

登录后复制

输出结果:

1

2

3

4

5

6

Array

(

[0] => 1

[1] => 2

[2] => 3

[3] => 4)

登录后复制

方法四:使用array_filter()函数

php中的array_filter()函数可用于过滤数组中的元素。我们可以通过使用该函数结合匿名函数的方式对原始数组进行去重。

示例代码:

1

2

3

4

5

6

7

8

9

10

11

$arr = array(1, 2, 2, 3, 4, 4);

$new_arr = array_filter($arr, function ($value) {

static $data = [];

if (in_array($value, $data)) {

return false;

} else {

$data[] = $value;

return true;

}

});

print_r($new_arr);

登录后复制

输出结果:

1

2

3

4

5

6

Array

(

[0] => 1

[1] => 2

[3] => 3

[4] => 4)

登录后复制
登录后复制
登录后复制

总结:

php中去除数组内重复数据的方法有很多种,上述介绍的方法仅是其中的几种。我们可以根据不同的需求和数据结构选择适合的去重方法,提高程序的效率和稳定性。

以上就是php如何去掉数组内重复元素的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2.9W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容