Cet article vous apporte une introduction à l'utilisation de la fonction in_array en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Pensez-vous que le code suivant affichera vrai ou faux
1 <?php 2 $data = [6,9]; 3 var_dump(in_array('06',$data));
Aujourd'hui, lors du débogage du code, j'ai trouvé un bug causé par une utilisation incorrecte de in_array. En PHP, un tableau est une structure de données très puissante. Le fonctionnaire fournit de nombreuses fonctions d'opération de tableau. in_array() est une structure couramment utilisée pour déterminer si un tableau contient un élément. Mais on peut ignorer le troisième paramètre de la fonction lors de son utilisation, ce qui entraîne une sorte de bug.
Définition officielle de la fonction :
in_array ( Mixed $needle , array $haystack [, bool $strict = FALSE ] )
: bool
needle
obligatoire L'élément à rechercher
Botte de foin
Le tableau à rechercher
strict
Si ce paramètre est défini sur true, le mode de comparaison strict sera être utilisé pour trouver l’élément. C'est-à-dire que lors de la recherche, non seulement les valeurs de l'élément à rechercher et les éléments du tableau sont comparées, mais également leurs types. La valeur par défaut est fausse.
Lorsque le troisième paramètre est ignoré, le résultat de la question au début de l'article sera vrai. Étant donné que la comparaison stricte n'est pas utilisée, la fonction tentera de convertir la chaîne en un type entier/à virgule flottante à des fins de comparaison lors du traitement des chaînes et des nombres. Par exemple, « 12ax » sera converti en 12. Ensuite, le « 06 » ci-dessus sera converti en 6, donc le résultat est vrai.
Au début, je n'avais pas remarqué que la fonction avait un troisième paramètre, donc je ne pouvais pas obtenir le résultat que je voulais quoi qu'il arrive
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!