Maison  >  Article  >  développement back-end  >  Comment déterminer si un tableau contient une certaine valeur en php

Comment déterminer si un tableau contient une certaine valeur en php

PHPz
PHPzoriginal
2023-04-19 09:17:04621parcourir

En programmation PHP, il est très courant de déterminer si un tableau contient un certain élément. Cet article présentera diverses méthodes de jugement, ainsi que leurs avantages, inconvénients et scénarios applicables.

  1. Fonction in_array

La fonction in_array intégrée de PHP peut être utilisée pour déterminer si une valeur existe dans un tableau. La syntaxe de cette fonction est la suivante :

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

où $needle représente la valeur à trouver et $haystack représente le tableau dans lequel rechercher. Renvoie vrai s'il est trouvé, faux sinon. Le paramètre strict indique s'il faut activer la vérification de type. La valeur par défaut est false, ce qui signifie uniquement vérifier si les valeurs des éléments sont égales, pas si les types sont identiques.

Exemple de code :

$fruits = array('apple', 'banana', 'orange');
if (in_array('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}

Ce code affichera : Le tableau contient de la banane. La fonction

in_array convient pour rechercher des éléments dans des tableaux ordinaires.

  1. Fonction Array_key_exists La fonction

array_key_exists peut être utilisée pour déterminer si une clé existe dans un tableau associatif. La syntaxe est la suivante :

bool array_key_exists (mixed $key, array $array )

Où, $key représente la clé à rechercher et $array représente le tableau associatif dans lequel rechercher. Renvoie vrai s'il est trouvé, faux sinon.

Exemple de code :

$age = array('Peter' => 35, 'John' => 40, 'Mary' => 25);
if (array_key_exists('Mary', $age)) {
    echo '数组中包含键 Mary';
} else {
    echo '数组中不包含键 Mary';
}

Ce code affichera : Le tableau contient la clé Mary. La fonction

array_key_exists convient pour déterminer si une clé existe dans un tableau associatif.

  1. Fonction isset

Si la valeur d'un élément du tableau est NULL, la fonction in_array et la fonction array_key_exists renverront false. À ce stade, vous pouvez utiliser la fonction isset pour juger. La syntaxe est la suivante :

bool isset ( mixed $var [, mixed $... ] )

Parmi eux, $var représente la variable ou l'élément du tableau à juger. Renvoie vrai si la variable existe et n'est pas NULL, faux sinon.

Exemple de code :

$person = array('name' => 'Tom', 'age' => 20, 'email' => NULL);
if (isset($person['email'])) {
    echo '数组中包含键 email';
} else {
    echo '数组中不包含键 email';
}

Ce code affichera : Le tableau contient l'e-mail clé. La fonction

isset convient pour déterminer si une variable ou un élément de tableau existe et n'est pas NULL.

  1. fonction Array_search

La fonction Array_search peut trouver une valeur dans un tableau et renvoyer sa clé correspondante. La syntaxe est la suivante :

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

où $needle représente la valeur à trouver et $haystack représente le tableau dans lequel rechercher. Si la recherche réussit, la clé correspondant à l'élément est renvoyée, sinon false est renvoyée. Le paramètre strict indique s'il faut activer la vérification de type et la valeur par défaut est false.

Exemple de code :

$fruits = array('apple', 'banana', 'orange');
$key = array_search('banana', $fruits);
if (false !== $key) {
    echo '数组中包含 banana,其键为:' . $key;
} else {
    echo '数组中不包含 banana';
}

Ce code affichera : Le tableau contient une banane avec la clé : 1. La fonction

array_search convient pour trouver la clé correspondant à une valeur dans un tableau.

  1. Fonction personnalisée

Si les fonctions ci-dessus ne peuvent pas répondre aux besoins, vous pouvez personnaliser la fonction de jugement en fonction de la situation réelle. Par exemple, la fonction suivante est utilisée pour déterminer si un tableau contient une certaine valeur :

function in_array_ex($needle, $haystack) {
    foreach ($haystack as $value) {
        if ($value === $needle) {
            return true;
        }
    }
    return false;
}

Cette fonction utilise une boucle foreach pour parcourir le tableau et comparer un par un si la valeur de l'élément du tableau est égale à la valeur à trouvé. Renvoie vrai s'il est trouvé, faux sinon.

Exemple de code :

$fruits = array('apple', 'banana', 'orange');
if (in_array_ex('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}

Ce code affichera : Le tableau contient de la banane.

Les fonctions personnalisées sont adaptées à des besoins de jugement spécifiques et offrent une grande flexibilité et applicabilité.

Pour résumer, pour déterminer si un tableau contient un élément, vous pouvez utiliser les fonctions in_array, array_key_exists, isset, array_search intégrées de PHP, ou vous pouvez personnaliser la fonction de jugement en fonction des besoins réels. Le choix d'une méthode de jugement adaptée au scénario peut améliorer l'efficacité et la maintenabilité du programme.

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