Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de la fonction PHP in_array()

Explication détaillée de l'utilisation de la fonction PHP in_array()

王林
王林original
2023-06-27 10:18:402701parcourir

Il existe de nombreuses fonctions pratiques en PHP, parmi lesquelles la fonction in_array() est l'une des fonctions les plus couramment utilisées. Cet article présentera en détail l’utilisation de la fonction in_array().

Tout d'abord, la fonction in_array() permet de vérifier si une valeur existe dans un tableau. S'il existe, renvoyez vrai ; s'il n'existe pas, renvoyez faux. La syntaxe de la fonction

in_array() est la suivante :

in_array($needle, $haystack, $strict)

Explication du paramètre :

  • $needle : la valeur à trouver.
  • $haystack : le tableau où il se trouve.
  • $strict : Paramètre facultatif Lorsqu'il est défini sur true, il vérifiera si le type d'aiguille est le même que celui de la botte de foin. La valeur par défaut est faux.

Voici quelques exemples :

$arr1 = array("apple", "banana", "orange");
echo in_array("apple", $arr1); // 输出 1 (true)
echo in_array("lemon", $arr1); // 输出空 (false)

Dans l'exemple ci-dessus, nous pouvons voir que la fonction in_array() a réussi à trouver "pomme" et a renvoyé vrai ; pour "citron" qui n'a pas été trouvé, elle a renvoyé faux.

Ensuite, examinons une utilisation plus complexe.

1. Vérifiez si plusieurs valeurs existent

Dans certains cas, nous devons vérifier si plusieurs valeurs existent. Ceci peut être réalisé en bouclant la fonction in_array() :

$names = array("Alice", "Bob", "Charlie", "Dave", "Eve");
$search = array("Alice", "John");

foreach ($search as $name) {
    if (in_array($name, $names)) {
        echo "$name exists in names.";
    } else {
        echo "$name does not exist in names.";
    }
}

Dans cet exemple, nous vérifions si "Alice" et "John" existent dans le tableau $names dans une boucle. Par exemple, "Alice existe dans les noms" et "John n'existe pas dans les noms".

2. Utiliser le mode strict

Si nous voulons nous assurer que la valeur vérifiée correspond exactement au type de valeur et à la valeur dans le tableau, nous pouvons utiliser le mode strict. Dans ce cas, la valeur est considérée comme existant uniquement si les deux types et valeurs correspondent exactement. Le mode strict peut être activé en définissant le troisième paramètre sur true.

$numbers = array("1", 2, 3);
echo in_array(1, $numbers);    // 输出 1(true)
echo in_array(1, $numbers, true);  // 输出 空(false)

Dans l'exemple ci-dessus, si le mode strict n'est pas utilisé, "1" et l'entier 1 seront considérés comme égaux. Cependant, si le mode strict est utilisé, les types seront pris en compte, ils seront donc considérés comme inégaux.

3. Utilisez la fonction in_array() pour implémenter un contrôle d'autorisation simple

Une autre fonction in_array() est utilisée pour implémenter un contrôle d'autorisation simple. Par exemple, disons que nous avons un ensemble de rôles d'utilisateur et un ensemble de rôles qui permettent d'accéder à une page. Nous pouvons utiliser la fonction in_array() pour vérifier si le rôle de l'utilisateur autorise l'accès à la page :

$user_role = "manager";   // 用户角色为manager
$allowed_roles = array("manager", "admin", "superadmin");  // 允许用户角色

if (in_array($user_role, $allowed_roles)) {
    // 用户允许访问
} else {
    // 用户不允许访问
}

Dans l'exemple ci-dessus, nous vérifions si $user_role est inclus dans le tableau $allowed_roles. S'il est inclus, l'utilisateur est autorisé à accéder, sinon non.

Résumé : La fonction

in_array() est une fonction très pratique en PHP, qui permet de vérifier facilement si une valeur existe dans un tableau. On peut aussi faire des usages plus complexes avec des boucles et le mode strict. En maîtrisant l'utilisation de la fonction in_array(), nous pouvons améliorer l'efficacité de l'écriture du code PHP.

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