Position actuelle: Accueil> Derniers articles> array_flip () + array_values ​​(): technique de combinaison de reconstruction du format d'arrière

array_flip () + array_values ​​(): technique de combinaison de reconstruction du format d'arrière

M66 2025-05-18

Dans les opérations PHP Array, Array_flip () et Array_Values ​​() sont deux fonctions très puissantes. Lorsque vous avez affaire à des tableaux déroutants, irréguliers ou qui doivent être reconstruits, la combinaison de ces deux fonctions peut apporter des gains d'efficacité inattendus.

Cet article présentera comment utiliser ces deux fonctions en combinaison pour reconstruire rapidement la structure et le format des tableaux PHP.

1. Compréhension de base de array_flip () et array_values ​​()

array_flip ()

Le but de Array_flip () est d'échanger les clés et les valeurs du tableau . Ceci est très utile dans certains scénarios où les clés doivent être trouvées par les valeurs.

 $input = ['a' => 'apple', 'b' => 'banana'];
$result = array_flip($input);
// résultat: ['apple' => 'a', 'banana' => 'b']

Remarque: Si la valeur du tableau n'est pas unique, array_flip () remplacera la clé correspondant à la valeur en double.

array_values ​​()

array_values ​​() consiste à reconstruire le tableau d'index et à renuméter la valeur du tableau comme la clé d'index à partir de 0.

 $input = ['first' => 'apple', 'second' => 'banana'];
$result = array_values($input);
// résultat: ['apple', 'banana']

2. Scénarios typiques pour la combinaison des deux

Lorsque nous devons déduir, réorganiser les index et normaliser les formats de tableau , il sera très pratique de combiner array_flip () et array_values ​​() .

Exemple de scénario: Nettoyez les données de balises soumises par l'utilisateur

Supposons que vous receviez un tableau de balises du formulaire utilisateur:

 $tags = ['php', 'html', 'css', 'php', 'javascript', 'html'];

Vous espérez:

  • Supprimer les doublons

  • Réorganiser les valeurs clés à l'incrément de 0

Vous pouvez faire ceci:

 $uniqueTags = array_values(array_flip(array_flip($tags)));

Analyser ce code:

  1. Le premier array_flip ($ tags) : utilisez la balise comme une touche pour supprimer les valeurs en double.

  2. Le deuxième array_flip (...) : restaure la "valeur" d'origine, mais a été dédupliquée.

  3. Le dernier array_values ​​(...) : reconstruire la clé d'un index numérique.

Résultat final:

 ['php', 'html', 'css', 'javascript']

Propre, déduplication, indexation soignée!

3. Exemples de nettoyage des données plus complexes

Supposons que vous receviez un tableau d'options du paramètre URL, par exemple:

 https://m66.net/filter.php?tags[]=php&tags[]=php&tags[]=mysql&tags[]=laravel

Le code de traitement est le suivant:

 $tags = $_GET['tags'] ?? [];
$cleanTags = array_values(array_flip(array_flip($tags)));

Cela garantit que votre variable $ CleanTags contient des balises de déduplication et se trouve dans un tableau d'index standard.

4. Résumé

  • L'utilisation de array_flip () peut habilement utiliser l'unicité des clés pour atteindre la déduplication;

  • Utilisez ensuite Array_Values ​​() pour le restaurer dans un tableau d'index propre;

  • Utilisé en combinaison, il est très efficace dans la gestion des données en double et des structures de réseau de formatage;

  • Particulièrement adapté à une utilisation dans des scénarios tels que le traitement de l'entrée des utilisateurs, des options de configuration, des données d'étiquette, etc.

La combinaison de ces deux fonctions rend non seulement votre code plus concis, mais réduit également la dépendance à des fonctions telles que ForEach ou In_Array () , améliorant les performances et la lisibilité.