Maison > développement back-end > Problème PHP > Comment supprimer rapidement un tableau à deux dimensions en php

Comment supprimer rapidement un tableau à deux dimensions en php

王林
Libérer: 2023-05-19 13:28:37
original
803 Les gens l'ont consulté

Dans le développement de PHP, il est souvent nécessaire de traiter des données, comme la déduplication, le tri, le filtrage, etc. Parmi eux, le traitement de tableaux bidimensionnels est une opération très courante. Alors, comment supprimer rapidement les données en double dans un tableau bidimensionnel ? Ci-dessous, nous vous présenterons plusieurs méthodes de mise en œuvre.

Méthode 1 : Utiliser la fonction array_unique()

array_unique() La fonction peut rapidement supprimer les données en double dans le tableau. La méthode d'implémentation spécifique est la suivante :

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$newArray = array_map("serialize", $array);
$newArray = array_unique($newArray);
$newArray = array_map("unserialize", $newArray);

print_r($newArray);
Copier après la connexion
. #🎜🎜 #Résultat de sortie :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )
)
Copier après la connexion

Méthode 2 : Utiliser le parcours en boucle

Parcourez le tableau, comparez chaque sous-tableau avec le sous-tableau précédent et supprimez-le s'ils sont identiques. L'implémentation spécifique du code est la suivante :

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

for($i = 0; $i < count($array) - 1; $i++){
    for($j = $i + 1; $j < count($array); $j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}

print_r($array);
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )

)
Copier après la connexion
Copier après la connexion

Méthode 3 : utilisez la fonction array_walk()

array_walk() fonction nous permet de définir des fonctions qui gèrent des tableaux. La méthode d'implémentation spécifique est la suivante :

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$tempArr = array();
array_walk($array, function($value, $key) use (&$tempArr) {
    if(!in_array($value, $tempArr)){
        array_push($tempArr, $value);
    }
});

print_r($tempArr);
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )

)
Copier après la connexion
Copier après la connexion
Les trois méthodes ci-dessus permettent de supprimer rapidement les données en double dans des tableaux bidimensionnels. La méthode spécifique à utiliser dépend de la situation réelle. S'il s'agit simplement d'une simple déduplication, vous pouvez utiliser la fonction array_unique() ; si la quantité de données est relativement petite, vous pouvez utiliser le parcours de boucle ; si la quantité de données est importante, vous pouvez utiliser la fonction array_walk().

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