Maison > développement back-end > Problème PHP > Supprimer les doublons du tableau php

Supprimer les doublons du tableau php

WBOY
Libérer: 2023-05-05 21:42:09
original
901 Les gens l'ont consulté

在 web 开发中,数组是不可或缺的一部分。然而,在处理大量数据时,数组中可能会包含大量的重复项,这会使数据处理变得复杂和低效。因此,本文将介绍如何在 PHP 中去除数组中的重复项。

方法一:使用 array_unique() 函数

array_unique() 函数是 PHP 提供的内置函数,用于去除数组中的重复项。它会返回一个新数组,其中只包含原数组中的唯一值。

使用该函数非常简单,只需要将需要去重的数组作为参数传递进去即可:

$array = array(1, 2, 2, 3, 4, 4, 5);
$new_array = array_unique($array);
print_r($new_array);
Copier après la connexion

以上代码将输出:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion

方法二:使用循环和 in_array() 函数

另一种常用的方法是使用循环和 in_array() 函数来去除重复项。该方法适用于各种类型的数组,包括关联数组和多维数组。

实现该方法的代码如下:

$array = array(1, 2, 2, 3, 4, 4, 5);
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);
Copier après la connexion

以上代码将输出与第一种方法相同的结果:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Copier après la connexion
Copier après la connexion

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

如果数组中包含的值都是整数或字符串,还可以使用 array_flip() 和 array_values() 函数来去除重复项。

具体实现方法如下:

$array = array(1, 2, 2, 3, 4, 4, 5);
$new_array = array_values(array_flip($array)); 
print_r($new_array);
Copier après la connexion

以上代码将输出与前两种方法相同的结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Copier après la connexion

在上述代码中,array_flip() 函数会将数组中的值用作键,并在相同键名的情况下,后面的值将覆盖前面的值。由于我们只需要去除重复项,因此最终的数组中只保留了一个键名,而其他相同键名对应的值都被删除了。

最后,array_values() 函数将重建数组的索引,以便它们从 0 开始连续编号。

总结

本文介绍了在 PHP 中去除数组中的重复项的几种方法,包括使用 array_unique() 函数、循环和 in_array() 函数,以及 array_flip() 和 array_values() 函数。这些方法都非常简单易懂,可以使数组处理变得更加高效和方便。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal