Maison > développement back-end > tutoriel php > Explication détaillée des étapes d'implémentation de la conversion implicite in_array en PHP

Explication détaillée des étapes d'implémentation de la conversion implicite in_array en PHP

php中世界最好的语言
Libérer: 2023-03-26 15:32:01
original
1654 Les gens l'ont consulté

Cette fois, je vais vous apporter une explication détaillée des étapes de mise en œuvre de la conversion implicite in_array en PHP Quelles sont les précautions pour la mise en œuvre de la conversion implicite in_array en PHP. Voici un cas pratique. Levez-vous et jetez un œil.

Problème

Lors de l'écriture d'une interface aujourd'hui, vous devez transmettre un grand nombre de paramètres d'informations de base. Les paramètres sont de deux types : int et string. Pour la commodité de la vérification, je prévois de mettre tous les paramètres dans le tableau, puis d'utiliser in_array(0, $param) pour déterminer si le paramètre int est 0, puis de déterminer séparément si le paramètre de chaîne est vide. L'exemple de code est. comme suit :

      if(in_array(0, $param) || $param['img'] == '') {
        $this->errorCode = 10030;
        $this->errorMessage = '参数不正确';
        return false; 
      }
Copier après la connexion

Cependant, lors de l'auto-test, j'ai constaté que même si les paramètres corrects sont transmis, une invite indiquant que les paramètres sont incorrects sera renvoyée ! ! !

La raison

Cette situation se produit précisément parce que in_array pose des problèmes. in_array(search,array) équivaut à comparer chaque valeur du tableau avec la comparaison de recherche, puisque. en plus du paramètre int dans mon tableau $param, il existe également un paramètre string, qui équivaut à utiliser string et int pour comparer les règles de conversion implicites de PHP :

Non numérique . La chaîne de caractères est comparée à un entier et la chaîne est automatiquement convertie en int(0)

L'exemple suivant vérifie notre déclaration :

<?php
  $a = (int)'abc';
  var_dump($a); //int(0)
  $c = array(0,1,2,3);
  if(in_array('abc', $c)) {
    echo 'exist';
  } else {
    echo 'not exist';
  } //exist
Copier après la connexion

La solution

in_array ajoute un troisième paramètre true, qui est utilisé pour vérifier si les données pour rechercher sont du même type que la valeur du tableau de cette manière. , la fonction ne peut être utilisée que lorsque l'élément existe dans le tableau et Le type de donnéesrenvoie vrai uniquement lorsqu'il est identique à la valeur donnée

Pour le métier que j'ai présenté ci-dessus, vous peut être plus rigoureux et stocker des données de type int dans un tableau et une chaîne dans un tableau, deux types différents Les tableaux sont vérifiés séparément, afin que les problèmes ci-dessus ne se produisent pas

Je pense que vous maîtrisez la méthode après avoir lu C'est le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :

Quelles sont les méthodes pour afficher la valeur de l'objet json dans php

Installation d'Alibaba Cloud Win2016 d'Apache et PHP Explication détaillée du tutoriel d'environnement

Explication détaillée des étapes de l'algorithme d'addition et de soustraction de génération 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal