Maison > développement back-end > tutoriel php > Comment rechercher une valeur donnée dans un tableau en PHP et renvoyer la première clé correspondante en cas de succès

Comment rechercher une valeur donnée dans un tableau en PHP et renvoyer la première clé correspondante en cas de succès

WBOY
Libérer: 2024-03-19 16:32:01
avant
477 Les gens l'ont consulté

En développement PHP, il est souvent nécessaire de rechercher une valeur donnée dans un tableau et de renvoyer le nom de clé correspondant. Cette fonction peut être réalisée via la fonction array_search en PHP. La fonction array_search recherche dans un tableau une valeur donnée et renvoie la première clé correspondante. Si la recherche réussit, le nom de la clé est renvoyé, sinon false est renvoyé. Cette fonction est très pratique et peut aider les développeurs à localiser rapidement la position d'une valeur spécifique dans le tableau et à améliorer l'efficacité du code. Ensuite, nous présenterons en détail comment utiliser la fonction array_search en PHP pour implémenter la fonction de recherche de tableau.

Utilisez la fonction in_array()

La fonction

in_array() est utilisée pour vérifier si la valeur donnée apparaît dans le tableau. Il renvoie vrai si une correspondance est trouvée, faux sinon. Pour obtenir le nom de clé d'une correspondance, vous pouvez utiliser la syntaxe suivante :

$key = array_search($value, $array, $strict = false);
Copier après la connexion
  • $value : La valeur à rechercher.
  • $array : Le tableau à rechercher.
  • $strict = false : (facultatif) Indique s'il faut effectuer des comparaisons strictes. Si c'est vrai, les types et les valeurs doivent correspondre.

Par exemple :

$array = ["apple", "banana", "orange"];

$key = array_search("banana", $array);
if ($key !== false) {
echo "键名:$key";
}
Copier après la connexion

Sortie :

键名:1
Copier après la connexion

Utilisez la fonction array_keys()

La fonction

array_keys() renvoie un tableau de toutes les clés du tableau. Pour rechercher une valeur donnée, vous pouvez utiliser la syntaxe suivante :

$keys = array_keys($array, $value, $strict = false);
Copier après la connexion
  • $array : Le tableau à rechercher.
  • $value : La valeur à rechercher.
  • $strict = false : (facultatif) Indique s'il faut effectuer des comparaisons strictes. Si c'est vrai, les types et les valeurs doivent correspondre.

Si une correspondance est trouvée, array_keys() renverra un tableau contenant les noms de clés correspondants. Sinon, il renvoie un tableau vide.

Par exemple :

$array = ["apple" => "red", "banana" => "yellow", "orange" => "orange"];

$keys = array_keys($array, "yellow");
if (count($keys) > 0) {
echo "键名:";
foreach ($keys as $key) {
echo "$key ";
}
}
Copier après la connexion

Sortie :

键名:banana
Copier après la connexion

Autres options

En plus des méthodes ci-dessus, il existe d'autres options pour rechercher des valeurs dans un tableau :

  • boucle foreach : Parcourez le tableau et comparez à l'aide des opérateurs == ou ===.
  • array_filter() : Créez un nouveau tableau contenant tous les éléments qui répondent aux critères donnés.
  • array_map() : Appliquez une fonction de rappel à chaque élément du tableau et renvoyez le nom de la clé si une correspondance est trouvée.

Notes de performances

Lorsqu'il s'agit de très grands tableaux, la recherche de valeurs dans le tableau peut devenir lente. Pour améliorer les performances, vous pouvez utiliser les conseils suivants :

  • Utilisez des tableaux indexés au lieu de tableaux associatifs.
  • Utilisez une table de hachage ou un dictionnaire pour stocker les paires clé-valeur.
  • Pré-triez le tableau pour accélérer la recherche binaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal