Maison >développement back-end >Problème PHP >PHP demande si certaines données se trouvent dans le tableau

PHP demande si certaines données se trouvent dans le tableau

WBOY
WBOYoriginal
2023-05-19 15:21:39489parcourir

Dans le développement PHP, nous devons souvent effectuer certaines opérations sur un tableau, et l'une des exigences courantes est de demander si certaines données se trouvent dans le tableau. Il existe de nombreuses façons de répondre à cette exigence. Nous présenterons ci-dessous en détail plusieurs méthodes courantes.

  1. Fonction in_array()

PHP fournit une fonction in_array(), sa fonction est de déterminer si une valeur existe dans le tableau. La façon d'utiliser cette fonction est la suivante :

bool in_array(mixed $needle, array $haystack [, bool $strict = false ])

où $needle représente la valeur à trouver, $haystack représente le tableau à trouver, $ strict indique s'il faut activer la vérification de type.

Par exemple :

$example = array('a', 'b', 'c');
if (in_array('a', $example)) {
    echo "存在";
} else {
    echo "不存在";
}

Dans l'exemple ci-dessus, la fonction retournera vrai car la valeur 'a' existe dans le tableau $exemple. Si nous changeons la valeur que nous recherchons en « d », la fonction retournera false.

  1. Fonction array_search()

En plus de la fonction in_array(), PHP fournit également une fonction array_search() La fonction de cette fonction est de trouver une valeur dans le tableau et de renvoyer son nom de clé. Si la valeur n'existe pas dans le tableau, renvoie false.

La façon d'utiliser cette fonction est la suivante :

mixed array_search(mixed $needle, array $haystack [, bool $strict = false])

Par exemple :

$example = array('a' => 1, 'b' => 2, 'c' => 3);
$key = array_search(2, $example);
if ($key !== false) {
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

Dans l'exemple ci-dessus, la fonction renverra "exist , correspondant Le nom de la clé est : b" car la valeur 2 existe dans le tableau et le nom de la clé correspondant est b. Si la valeur que nous recherchons est 4, la fonction renvoie faux.

Il convient de noter que lorsque vous utilisez la fonction array_search(), vous devez être prudent lorsque le nom de la clé est 0. Car lorsque la valeur à trouver est 0, la fonction traitera la valeur avec le nom de clé 0 comme si elle n'existait pas. Si vous souhaitez résoudre ce problème, vous pouvez activer la vérification de type dans le troisième paramètre.

  1. Utilisez la fonction in_array() combinée avec le nom de clé du tableau

Parfois, lorsque nous avons besoin de trouver une valeur dans le tableau, nous avons également besoin de connaître le nom de clé correspondant à la valeur. À ce stade, vous pouvez utiliser la fonction in_array() combinée avec le nom de la clé du tableau pour effectuer une recherche.

La méthode d'implémentation spécifique consiste à ajouter le nom de la clé au tableau, puis à utiliser la fonction in_array() pour rechercher :

$example = array('a' => 1, 'b' => 2, 'c' => 3);
if (in_array(2, $example, true)) {
    $key = array_search(2, $example, true);
    echo '存在,对应的键名为:' . $key;
} else {
    echo '不存在';
}

Dans l'exemple ci-dessus, nous avons converti le tableau d'index d'origine en un tableau associatif, afin que nous puissions recherchez la valeur du nom de clé de tableau correspondante.

Résumé

Les trois méthodes ci-dessus peuvent toutes être utilisées pour demander si certaines données se trouvent dans un tableau en PHP. L'utilisation spécifique dépend des besoins réels. Il convient de noter que dans le développement réel, différentes structures de tableaux peuvent être traitées de différentes manières. De plus, si vous devez effectuer des opérations de requête fréquentes, vous pouvez convertir le tableau en tableau associatif, ce qui rend les opérations de recherche plus pratiques.

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!

Déclaration:
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