Position actuelle: Accueil> Derniers articles> Utilisez array_search () pour localiser rapidement la clé en utilisant la valeur pour fabriquer des clés

Utilisez array_search () pour localiser rapidement la clé en utilisant la valeur pour fabriquer des clés

M66 2025-05-18

Comment utiliser array_flip () et array_search () pour obtenir un positionnement rapide de la valeur à la clé?

En PHP, nous devons souvent effectuer des recherches rapides dans les tableaux. Parfois, nous devons trouver la clé correspondante à travers la valeur, ou rechercher la clé à partir d'une valeur. PHP fournit deux fonctions très utiles: array_flip () et array_search () , ce qui peut nous aider à atteindre un positionnement rapide des valeurs aux touches. Cet article présentera comment utiliser ces deux fonctions pour accomplir cette tâche.

1. Introduction à la fonction array_flip ()

La fonction array_flip () échangera les clés et les valeurs dans le tableau, ce qui fait que la valeur d'origine devient la clé du tableau, et la clé d'origine devient la valeur. Supposons que vous ayez un tableau associatif que vous pouvez inverser via array_flip () afin que la valeur puisse être trouvée en tant que nouvelle clé.

 <?php
$array = [
    'apple' => 1,
    'banana' => 2,
    'orange' => 3
];

$flipped = array_flip($array);
print_r($flipped);
?>

Résultat de sortie:

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

Dans cet exemple, array_flip () transforme la valeur du tableau d'origine en une clé et la clé d'origine en valeur.

2. Introduction à la fonction array_search ()

La fonction Array_Search () peut être utilisée pour trouver une valeur donnée dans un tableau et renvoyer sa clé correspondante. Si une valeur de correspondance est trouvée, array_search () renvoie la clé de la valeur; Si aucune valeur de correspondance n'est trouvée, false est renvoyé.

 <?php
$array = [
    'apple' => 1,
    'banana' => 2,
    'orange' => 3
];

$key = array_search(2, $array);
echo "The key for value 2 is: " . $key;
?>

Résultat de sortie:

 The key for value 2 is: banana

3. Utilisez array_flip () et array_search () pour combiner

Nous pouvons rapidement localiser la clé correspondant à une valeur en utilisant d'abord la fonction array_flip () pour échanger les valeurs et les touches du tableau, puis utiliser array_search () .

 <?php
$array = [
    'apple' => 1,
    'banana' => 2,
    'orange' => 3
];

// Inversez d&#39;abord le tableau
$flipped = array_flip($array);

// utiliser array_search() Trouver la clé correspondant à la valeur
$key = array_search(2, $flipped);
echo "The original key for value 2 is: " . $key;
?>

Résultat de sortie:

 The original key for value 2 is: banana

4. Pourquoi est-ce efficace?

Cette méthode est plus efficace car array_flip () stocke toutes les valeurs sous forme de touches, vous pouvez donc localiser rapidement en recherchant directement les touches. En revanche, si vous utilisez Array_Search () directement pour trouver les clés de la valeur dans le tableau d'origine, chaque recherche nécessite une itération de l'ensemble du tableau. En inversant le tableau, le processus de recherche devient très efficace.

5. Scénarios d'application pratiques

Cette méthode convient aux scénarios où nous devons rechercher fréquemment des valeurs aux touches pour les recherches rapides. Par exemple, si vous avez un tableau d'informations utilisateur qui contient le nom d'utilisateur et l'ID utilisateur correspondant, et que vous obtenez souvent le nom d'utilisateur en fonction de l'ID utilisateur, en utilisant la combinaison de Array_flip () et Array_Search () peut considérablement améliorer l'efficacité.

 <?php
$userIDs = [
    'John' => 1001,
    'Jane' => 1002,
    'Tom' => 1003
];

// Volonté ID Comme clé
$flippedUserIDs = array_flip($userIDs);

// Trouver des utilisateursIDpour1002Nom d&#39;utilisateur
$username = array_search(1002, $flippedUserIDs);
echo "The username for userID 1002 is: " . $username;
?>

Résultat de sortie:

 The username for userID 1002 is: Jane

6. Choses à noter

  • array_flip () ne peut gérer que les tableaux où les valeurs sont uniques. S'il y a des doublons dans la valeur dans le tableau, array_flip () ne conservera la dernière valeur que la clé et la valeur précédente sera écrasée.

  • Lorsque Array_Search () ne peut pas trouver la valeur, il reviendra faux , vous devez donc faire attention à la vérification de la valeur de retour lors de l'utilisation.

J'espère que cet article vous aidera à mieux comprendre comment utiliser array_flip () et array_search () pour se localiser rapidement de la valeur à la clé. Si vous avez plus de questions ou avez besoin d'aide, n'hésitez pas à poser des questions!