Position actuelle: Accueil> Derniers articles> Comment utiliser Array_flip () et Array_Unique () en combinaison pour résoudre efficacement le problème des valeurs en double dans les tableaux PHP?

Comment utiliser Array_flip () et Array_Unique () en combinaison pour résoudre efficacement le problème des valeurs en double dans les tableaux PHP?

M66 2025-06-15

Dans la programmation PHP, il est nécessaire de traiter les valeurs en double dans les tableaux. PHP fournit de nombreuses fonctions intégrées pour nous aider à faire face à ces problèmes, parmi lesquels Array_flip () et Array_Unique () sont deux fonctions très utiles. Cet article expliquera comment utiliser ces deux fonctions en combinaison pour résoudre efficacement le problème des valeurs en double dans un tableau.

Que sont Array_flip () et Array_Unique () ?

  1. array_flip ()
    La fonction array_flip () échange les touches et les valeurs d'un tableau. C'est-à-dire que la valeur du tableau deviendra la nouvelle clé, et la clé d'origine deviendra la valeur. Il convient de noter que la fonction array_flip () nécessite que les valeurs du tableau doivent être uniques, sinon il écrasera les paires de valeurs clés en double.

    Exemple :

     $arr = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
    $flipped = array_flip($arr);
    print_r($flipped);
    // Sortir:
    // Array
    // (
    //     [apple] => a
    //     [banana] => b
    //     [cherry] => c
    // )
    
  2. Array_Unique ()
    La fonction Array_Unique () est utilisée pour supprimer des valeurs en double dans un tableau. Il renvoie un tableau sans valeurs en double. Array_Unique () compare les valeurs dans le tableau, conserve la première occurrence de l'élément et supprime les valeurs en double restantes.

    Exemple :

     $arr = ['apple', 'banana', 'apple', 'cherry', 'banana'];
    $unique = array_unique($arr);
    print_r($unique);
    // Sortir:
    // Array
    // (
    //     [0] => apple
    //     [1] => banana
    //     [3] => cherry
    // )
    

Utilisez array_flip () avec array_unique ()

Dans le développement réel, nous devons parfois supprimer d'abord les valeurs en double du tableau, puis retourner leurs clés et leurs valeurs. En combinant array_flip () avec array_unique () , nous pouvons gérer très facilement les valeurs en double dans un tableau, en particulier lorsqu'il existe une certaine relation entre les clés et les valeurs du tableau.

Exemple: utilisez array_flip () et array_unique () pour résoudre le problème de valeur en double

Supposons que nous ayons un tableau contenant des enregistrements d'accès pour plusieurs utilisateurs. Chaque enregistrement a une URL à visiter, et nous voulons supprimer les URL en double de ces enregistrements, en gardant un enregistrement unique pour chaque URL.

 // Supposons qu'il s'agit d'un tableau d'URL contenant plusieurs enregistrements d'accès aux utilisateurs
$urls = [
    'https://www.example.com/page1',
    'https://www.example.com/page2',
    'https://m66.net/page3',
    'https://www.example.com/page1',
    'https://m66.net/page4',
    'https://m66.net/page3'
];

// utiliserarray_uniqueSupprimer les valeurs en double
$uniqueUrls = array_unique($urls);

// utiliserarray_flipUtiliser l'URL comme clé,Prenez l'index de tableau d'origine comme valeur
$flippedUrls = array_flip($uniqueUrls);

// Remplacez la partie du nom de domaine parm66.net
foreach ($flippedUrls as $key => $value) {
    $flippedUrls[$key] = preg_replace('/https:\/\/[^\/]+/', 'https://m66.net', $key);
}

print_r($flippedUrls);

Sortir :

 Array
(
    [https://m66.net/page1] => 0
    [https://m66.net/page2] => 1
    [https://m66.net/page3] => 2
    [https://m66.net/page4] => 4
)

Dans cet exemple, nous utilisons d'abord la fonction Array_Unique () pour supprimer les URL en double. Ensuite, nous retournons chaque URL en tant que clé en utilisant array_flip () . Ensuite, remplacez tous les noms de domaine URL par m66.net via preg_replace () .

Résumer

En combinant array_flip () et array_unique () , nous pouvons supprimer les valeurs en double des tableaux très efficacement et effectuer les opérations d'échange de valeurs clés nécessaires sur les tableaux. Lors du traitement des tableaux liés aux URL ou à d'autres données, l'utilisation de ces deux fonctions nous permet de nettoyer rapidement les données et de transformer efficacement, d'améliorer la simplicité et la maintenabilité de notre code.