Position actuelle: Accueil> Derniers articles> Comment échanger rapidement les touches et les valeurs d'un tableau à l'aide de array_flip ()? Quels scénarios d'application y a-t-il?

Comment échanger rapidement les touches et les valeurs d'un tableau à l'aide de array_flip ()? Quels scénarios d'application y a-t-il?

M66 2025-06-03

Dans PHP, la fonction array_flip () est une fonction intégrée très pratique qui peut échanger les clés et les valeurs d'un tableau. Cette fonction est généralement utilisée pour inverser un tableau pour transformer la clé d'origine en valeur et la valeur d'origine dans une clé. Il est idéal pour gérer les scénarios où les éléments du tableau doivent être rapidement inversés, comme la création de tables de recherche rapides, la déduplication ou le retournement des cartes de valeur clé. Cet article présentera comment utiliser array_flip () et certains de ses scénarios d'application courants.

1. Introduction à la fonction array_flip ()

La syntaxe de la fonction array_flip () est très simple:

 array array_flip ( array $array )

paramètre:

  • $ Array : Il s'agit d'un tableau d'entrée où les clés et les valeurs seront échangées.

Valeur de retour:

  • Renvoie un nouveau tableau avec des clés et des valeurs échangées. S'il y a des valeurs en double dans le tableau d'origine, une seule clé sera conservée dans le nouveau tableau.

2. Utilisez array_flip () pour échanger des clés et des valeurs des tableaux

Regardons un exemple simple, en utilisant array_flip () pour échanger des clés et des valeurs dans un tableau.

Exemple de code:

 <?php
// Tableau d&#39;origine
$originalArray = array(
    "apple" => "red",
    "banana" => "yellow",
    "cherry" => "red"
);

// utiliser array_flip() Clés et valeurs d&#39;échange de fonction
$flippedArray = array_flip($originalArray);

// Imprimez le tableau échangé
print_r($flippedArray);
?>

Résultat de sortie:

 Array
(
    [red] => cherry
    [yellow] => banana
)

Dans cet exemple, les clés du tableau d'origine sont le nom du fruit, et les valeurs sont leurs couleurs. Après avoir appelé array_flip () , les clés et les valeurs sont échangées. Il convient de noter que la couleur "rouge" dans le tableau d'origine apparaît deux fois (correspondant à "Apple" et "Cherry" respectivement), tandis que Array_flip () ne conserve qu'une seule clé "rouge" et la valeur est "Cherry" (la dernière paire de valeurs clés qui apparaît).

3. Scénarios d'application

3.1 pour créer des tables de recherche rapides

Un scénario d'application commun pour array_flip () consiste à créer des tables de recherche rapides. Par exemple, supposons que vous ayez un tableau contenant l'ID utilisateur et le nom d'utilisateur, et que vous souhaitez trouver rapidement l'ID utilisateur correspondant via le nom d'utilisateur, vous pouvez utiliser array_flip () pour l'implémenter:

Exemple de code:

 <?php
// Nom d&#39;utilisateur et utilisateur ID Cartographie
$userIds = array(
    "john_doe" => 1,
    "jane_doe" => 2,
    "alice_smith" => 3
);

// utiliser array_flip() Échangez les clés et les valeurs
$flippedUserIds = array_flip($userIds);

// utiliser用户名查找对应的用户 ID
echo "The user ID for john_doe is: " . $flippedUserIds["john_doe"]; // Sortir: 1
?>

3.2 pour la déduplication

Lorsque vous avez un tableau où les valeurs sont uniques mais qu'il peut y avoir des clés en double, array_flip () peut vous aider à déduir. Par exemple, lorsque vous avez un tableau de valeurs qui sont répétées mais qui souhaitent avoir chaque valeur comme clé unique, vous pouvez utiliser cette méthode:

Exemple de code:

 <?php
// Un tableau contenant des valeurs en double
$values = array("apple", "banana", "apple", "orange", "banana");

// utiliser array_flip() Aller au lourd
$uniqueValues = array_flip($values);

// 打印Aller au lourd后的数组
print_r($uniqueValues);
?>

Résultat de sortie:

 Array
(
    [apple] => 0
    [banana] => 1
    [orange] => 3
)

Ici, array_flip () prend la valeur dans le tableau comme la nouvelle clé et supprime automatiquement les éléments en double.

3.3 Mappage de valeurs de clé inversée

Si vous avez une carte de valeur clé et que vous souhaitez l'inverser, par exemple, mappez l'URL au nom de la page, vous pouvez l'inverser en utilisant array_flip () . En supposant que vous avez une cartographie URL du nom de la page, vous pouvez utiliser cette fonction pour ramener le nom de la page à l'URL.

Exemple de code:

 <?php
// page URL 到page名称的Cartographie
$pageUrls = array(
    "http://m66.net/home" => "première page",
    "http://m66.net/about" => "à propos de nous",
    "http://m66.net/contact" => "Contactez-nous"
);

// utiliser array_flip() 反转Cartographie
$flippedUrls = array_flip($pageUrls);

// 打印反转后的Cartographie
print_r($flippedUrls);
?>

Résultat de sortie:

 Array
(
    [première page] => http://m66.net/home
    [à propos de nous] => http://m66.net/about
    [Contactez-nous] => http://m66.net/contact
)

Dans cet exemple, array_flip () transforme le nom de la page en une clé et l'URL devient la nouvelle valeur. De cette façon, vous pouvez rapidement trouver l'URL correspondante par le nom de la page.

4. Choses à noter

Bien que Array_flip () soit une fonction très pratique, il a également certaines limites et considérations:

  1. Valeur clé Unité : S'il y a des valeurs en double dans le tableau d'origine, Array_flip () ne conservera que la dernière touche. Si la valeur est répétée, la valeur précédente sera rejetée.

  2. Type de clé : la clé d'un tableau doit être une chaîne ou un entier. Si les clés du tableau sont d'autres types, une erreur ou un comportement inattendu se produira.

5. Résumé

La fonction array_flip () est un outil puissant de PHP qui peut aider les développeurs à échanger rapidement les clés et les valeurs des tableaux. Qu'il soit utilisé pour rechercher des tables, une déduplication ou des mappages de valeurs clés inversés, il fournit une solution simple et efficace. La maîtrise de l'utilisation de array_flip () peut vous permettre de gérer plus facilement diverses opérations de tableau en développement.