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

王林
王林original
2023-05-19 13:28:37853parcourir

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);
. #🎜🎜 #Résultat de sortie :

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

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

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);

Résultat de sortie :

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

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

)

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);

Résultat de sortie :

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

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

)

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!

Déclaration:
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