De plus, lorsque nous contrôlons la structure pour comparer si deux valeurssont cohérentes, nous devrions également essayer d'utiliser === au lieu de == (bien sûr, cela doit également être sélectionné en fonction de l'activité spécifique logique).
Expliquons pourquoi
var_dump(in_array(0, array('s' ));
Le résultat de cette phrase est bool(true).
Parce que in_array comparera 0 et 's', 0 est un type numérique et 's' est un type chaîne. Selon les instructions du chapitre "Opérateurs de comparaison" du manuel php, lorsque le nombre et la chaîne sont comparés
<.> , le type de chaîne sera d'abord converti en nombre, puis l'opération de comparaison sera effectuée. Le résultat de la conversion de 's' en nombre est 0, et le résultat de 0 == 0 est vrai, donc in_array(0, array('s', 'The result of ss')) est également vrai
Si le troisième paramètre strict de in_array est défini sur true, il sera jugé si la valeur et le type sont équivalents lors de la comparaison, et alors true sera renvoyé. Sinon, retournez false