Dans PHP, array_flip () est une fonction très utile qui intervient les clés et les valeurs d'un tableau. Cela signifie que l'élément à l'origine comme la clé deviendra une valeur, et l'élément à l'origine à mesure que la valeur deviendra une clé. Cette fonction est très adaptée à la création de tables arrière. Le tableau arrière est une structure de données qui recherche la clé correspondante à travers des valeurs, qui est généralement utilisée pour trouver rapidement la clé correspondante en fonction d'une certaine valeur.
La fonction array_flip () prend un tableau en tant que paramètre et renvoie un nouveau tableau, où la clé du tableau d'origine devient une valeur et la valeur du tableau d'origine devient une clé. La syntaxe de base est la suivante:
array array_flip ( array $array )
Paramètre :
$ Array : Le tableau à inverser.
Valeur de retour : renvoie un tableau contenant les clés et les valeurs inversées.
Regardons un exemple simple, en utilisant array_flip () pour créer une table de recherche de sauvegarde.
<?php
// Tableau d'origine
$originalArray = [
'apple' => 'red',
'banana' => 'yellow',
'cherry' => 'red',
'orange' => 'orange'
];
// utiliser array_flip() Créer une table de recherche arrière
$flippedArray = array_flip($originalArray);
// Tableau de recherche arrière de sortie
print_r($flippedArray);
?>
Array
(
[red] => cherry
[yellow] => banana
[orange] => orange
)
Dans cet exemple, nous avons un éventail de couleurs de fruits. Array_flip () inverse ce tableau, faisant de la couleur une clé et le nom du fruit devient une valeur. Notez que s'il y a les mêmes valeurs dans le tableau, array_flip () prend leur dernière valeur au résultat. Par exemple, «Red» correspond à Cherry , pas à Apple , car Cherry est la dernière valeur.
Lorsque nous extraitons les données de la base de données, nous obtenons généralement un tableau associatif. Par exemple, nous pourrions avoir besoin de trouver l'ID correspondant en fonction d'une certaine valeur (comme un nom d'utilisateur). Si nous inversons ces données, nous pouvons trouver les clés (IDS) plus rapidement par des valeurs.
<?php
// Nom d'utilisateur et utilisateurIDCartographie de
$userArray = [
'alice' => 101,
'bob' => 102,
'charlie' => 103
];
// Créer une table de recherche arrière
$reversedUserArray = array_flip($userArray);
// utiliser反查表快速查找
echo "AlicedeIDOui: " . $reversedUserArray['101']; // Sortir:AlicedeIDOui: 101
?>
Une table arrière peut généralement améliorer l'efficacité de recherche car elle inverse la relation entre la valeur et la clé. En étonnant le tableau, nous pouvons éviter de traverser l'ensemble du tableau pour la recherche et d'obtenir directement la clé correspondante à travers la valeur.
array_flip () ne fonctionne qu'avec des tableaux avec des valeurs uniques. S'il y a des valeurs en double dans le tableau, le résultat inversé ne conservera que la clé de la dernière valeur. Par exemple:
<?php
$originalArray = [
'a' => 1,
'b' => 2,
'c' => 1
];
$flippedArray = array_flip($originalArray);
print_r($flippedArray);
?>
Résultat de sortie:
Array
(
[1] => c
[2] => b
)
Dans cet exemple, la valeur 1 apparaît deux fois, mais seul C est conservé comme la clé du tableau inversé car il s'agit de la dernière clé correspondant à 1 .
array_flip () convertit la valeur en clé. Étant donné que les clés d'un tableau PHP sont des chaînes ou des entiers, les valeurs du tableau sont converties en types de données qui conviennent comme des clés. Si la valeur dans le tableau ne peut pas être utilisée comme clé juridique, cela peut entraîner une erreur ou une exception.
array_flip () est une fonction simple et puissante qui peut nous aider à inverser rapidement les télés-bas pour créer une table de recherche inverse. Ceci est très utile pour trouver rapidement les clés correspondant aux valeurs dans certains scénarios. Il convient de noter que lorsque vous utilisez array_flip () , assurez-vous que les valeurs dans le tableau sont uniques, ou comprenez que la dernière clé écrasera la clé précédente si les valeurs sont répétées.
Grâce à cette méthode, vous pouvez facilement mettre en œuvre des opérations efficaces à vérifier en arrière, ce qui rend votre code plus concis et efficace.