Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Implementierungsschritte der impliziten in_array-Konvertierung in PHP

Detaillierte Erläuterung der Implementierungsschritte der impliziten in_array-Konvertierung in PHP

php中世界最好的语言
Freigeben: 2023-03-26 15:32:01
Original
1650 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine detaillierte Erläuterung der Implementierungsschritte der impliziten in_array-Konvertierung in PHP geben Das Folgende ist ein praktischer Fall. Stehen Sie auf und werfen Sie einen Blick darauf.

Problem

Wenn Sie heute eine Schnittstelle schreiben, müssen Sie eine große Anzahl grundlegender Informationsparameter übergeben. Es gibt zwei Parametertypen: int und string For Der Einfachheit halber habe ich vor, alle Parameter in das Array einzufügen und dann mit in_array(0, $param) zu bestimmen, ob der int-Parameter 0 ist, und dann separat zu bestimmen, ob der String-Parameter leer ist wie folgt:

      if(in_array(0, $param) || $param['img'] == '') {
        $this->errorCode = 10030;
        $this->errorMessage = '参数不正确';
        return false; 
      }
Nach dem Login kopieren

Aber während des Selbsttests habe ich festgestellt, dass selbst wenn die richtigen Parameter übergeben werden, eine Eingabeaufforderung zurückgegeben wird, die angibt, dass die Parameter falsch sind! ! !

Der Grund

Diese Situation tritt genau deshalb auf, weil in_array Probleme verursacht. in_array(search,array) entspricht dem Vergleich jedes Werts im Array mit search Zusätzlich zum int-Parameter in meinem $param-Array gibt es auch einen String-Parameter, der der Verwendung von string und int zum Vergleichen impliziter PHP-Regeln entspricht:

Nicht numerisch

Zeichen String wird mit einer Ganzzahl verglichen und der String wird automatisch in int(0) konvertiertDas folgende Beispiel bestätigt unsere Aussage:

<?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
Nach dem Login kopieren

Lösung

in_array fügt einen dritten Parameter true hinzu, der verwendet wird, um zu überprüfen, ob die Daten für

, nach denen gesucht werden soll, vom gleichen Typ sind wie der Wert des Arrays Die Funktion kann nur verwendet werden, wenn das Element im Array vorhanden ist und die

-Daten „True“ nur zurückgegeben werden, wenn der Typ mit dem angegebenen Wert übereinstimmt. Für das Geschäft, das ich oben vorgestellt habe, I kann strenger sein und Daten vom Typ int in einem Array und String in einem Array speichern, also zwei Arrays unterschiedlichen Typs. Führen Sie die Datenüberprüfung separat durch, damit die oben genannten Probleme nicht auftreten.

Ich glaube, Sie beherrschen die Methode Nachdem Sie den Fall in diesem Artikel gelesen haben, lesen Sie bitte andere verwandte Artikel auf der chinesischen PHP-Website.

Empfohlene Lektüre:

Welche Methoden gibt es, um den Wert des JSON-Objekts in PHP auszugeben?


Alibaba Cloud Win2016-Installation von Apache und PHP Detaillierte Erläuterung des Umgebungs-Tutorials


Detaillierte Erläuterung der Schritte des Additions- und Subtraktionsalgorithmus zur PHP-Generierung

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Implementierungsschritte der impliziten in_array-Konvertierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage