Maison  >  Article  >  développement back-end  >  Comment déterminer si une valeur spécifiée est incluse dans un tableau en php

Comment déterminer si une valeur spécifiée est incluse dans un tableau en php

PHPz
PHPzoriginal
2023-04-26 14:24:19489parcourir

En programmation PHP, déterminer si un élément est dans un tableau est une opération courante, qui peut être implémentée à l'aide de la fonction in_array. Cependant, certains développeurs utiliseront la syntaxe PHP native, c'est-à-dire utiliseront "==" ou "===" pour juger. Dans ce cas, des résultats différents peuvent être obtenus. Par conséquent, cet article abordera les questions liées à savoir si PHP est inclus dans un tableau.

1. Utilisation de la fonction in_array

in_array est une fonction fournie par PHP pour déterminer si un élément est dans un tableau. Sa syntaxe est la suivante :

#. 🎜🎜#bool in_array ( Mixed $needle , array $haystack [, bool $strict = FALSE ] )

Cette fonction accepte trois paramètres :

    needle : que trouver Élément
  1. haystack : Le tableau recherché
  2. strict : S'il faut utiliser le mode strict. Si vrai, détermine si l'élément est du même type que l'élément du tableau (le type et la valeur correspondent).
Par exemple, dans le code suivant, nous utilisons in_array pour déterminer si "apple" est dans le tableau $fruits :

$fruits = array('banana', 'apple', 'orange');
if (in_array('apple', $fruits)) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Le code ci-dessus affichera "Oui, la pomme est dans le tableau fruits", car "pomme" est bien dans le tableau $fruits.

2. Syntaxe PHP native pour déterminer si un élément est dans un tableau

Certains développeurs peuvent utiliser la syntaxe PHP native pour déterminer si un élément est dans un tableau, par exemple en utilisant "==" ou "===" pour comparer. Par exemple :

$fruits = array('banana', 'apple', 'orange');
if ('apple' == $fruits[1]) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Ce code est équivalent au code utilisant in_array, les deux afficheront "Oui, la pomme est dans le tableau des fruits". Parce que "pomme" a la même valeur que $fruits[1].

Cependant, l'utilisation de la syntaxe PHP native pour déterminer si un élément se trouve dans un tableau peut entraîner des résultats différents, notamment lors de l'utilisation de "===".

Par exemple, dans le code suivant, nous comparons à la fois un entier 1 et une chaîne '1' avec des éléments de tableau :

$test_array = array('1', '2', '3');
var_dump(1 == $test_array[0]);    // true
var_dump('1' == $test_array[0]);  // true,因为'1'会被转换成整型1
var_dump(1 === $test_array[0]);   // false,类型不匹配
var_dump('1' === $test_array[0]); // false,类型不匹配
Dans le code ci-dessus, utilisez " == " Lors de la comparaison, le type entier 1 et la chaîne « 1 » seront convertis en type entier 1, ils sont donc identiques à l'élément de tableau « 1 ».

Cependant, lors de l'utilisation de la comparaison "===", parce que les types ne correspondent pas (l'un est un entier et l'autre est une chaîne), le résultat de la comparaison est faux.

3. Autres méthodes pour déterminer si un élément est dans un tableau

En plus d'utiliser la fonction in_array et la syntaxe PHP native, il existe d'autres méthodes pour déterminer si un élément est dans un tableau.

    array_search function
array_search peut trouver un élément dans le tableau et renvoyer son nom de clé correspondant. S'il n'est pas trouvé, renvoie false. Par exemple :

$fruits = array('banana', 'apple', 'orange');
$key = array_search('apple', $fruits);
if ($key !== false) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Dans le code ci-dessus, si « pomme » est trouvé, le nom de clé correspondant 1 est renvoyé, donc « Oui, la pomme est dans le tableau de fruits » est affiché.

    la fonction in_array combinée avec la fonction array_flip
L'utilisation de la fonction in_array combinée avec la fonction array_flip peut déterminer rapidement si l'élément est dans le tableau, mais vous il faut faire attention au tableau. La valeur doit être unique.

$fruits = array('banana', 'apple', 'orange');
$flip_fruits = array_flip($fruits); // 交换键和值
if (isset($flip_fruits['apple'])) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Dans le code ci-dessus, nous échangeons les clés et les valeurs du tableau $fruits pour obtenir un nouveau tableau $flip_fruits. Ensuite, nous utilisons la fonction isset pour déterminer si « apple » est une clé du tableau $flip_fruits. Si c'est le cas, alors « apple » est dans le tableau $fruits.

4. Résumé

En programmation PHP, déterminer si un élément est dans un tableau est une opération courante, qui peut être implémentée à l'aide de la fonction in_array. Cette fonction peut également être implémentée en utilisant la syntaxe PHP native, mais vous devez faire attention aux problèmes de correspondance de type. De plus, d'autres méthodes peuvent également être utilisées, telles que la fonction array_search et la fonction in_array combinées avec la fonction array_flip.

Enfin, j'espère que cet article pourra être utile aux développeurs PHP lorsqu'ils traitent des tableaux.

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