Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie in PHP, ob es sich um ein Array oder ein Objekt handelt

So ermitteln Sie in PHP, ob es sich um ein Array oder ein Objekt handelt

藏色散人
藏色散人Original
2021-06-21 10:25:485304Durchsuche

So bestimmt PHP, ob es sich um ein Array oder ein Objekt handelt: 1. Beurteilen Sie anhand des Typs der Variablen und des Längenattributs der Variablen. 2. Verwenden Sie die toString-Methode, um das Objekt in andere Arten von Zeichenfolgen zu konvertieren durch Instanz von 4. Verwenden Sie isArray Judgement und so weiter.

So ermitteln Sie in PHP, ob es sich um ein Array oder ein Objekt handelt

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.

Wie ermittelt PHP, ob es sich um ein Array oder ein Objekt handelt? So bestimmen Sie, ob eine Variable ein Array oder ein Objekt ist

Methode 1: Durch Bestimmen des Typs der Variablen und des Längenattributs der Variablen (mit Ausnahme des Argumentobjekts – wo die Daten gespeichert werden, wenn Parameter an a übergeben werden Funktion)

      var arr=[2,3,4];
      var obj={"name":"maomao","age":20};
      console.log(typeof arr);   //object
      console.log(typeof obj);   //object
      console.log(arr.length);   //3
      console.log(obj.length);   //undefined
      console.log(obj.name);     //maomao
      //这里说明在对象中并没有length属性,所以是未定义。

Methode 2:

Verwenden Sie die toString-Methode, um das Objekt in andere String-Typen zu konvertieren. Dieses Beispiel beweist gut, dass das Argumentobjekt kein Array, sondern ein Objekt ist

  var arr=[2,3,4];
        var obj={"name":"maomao","age":20};
        // console.log(arr.toString());  //'2,3,4'
        // console.log(obj.toString());  //[object Object]
        function sum(a,b){
           // console.log(arguments);
           // console.log(typeof arguments);    //object
           // console.log(arguments.length);    //2 根据具体调用函数传的实参决定
           // console.log(arguments.toString()); //[object Arguments]
           return a+b;
        }
        alert(sum(3,4));

Methode 3: –>Nein realisierbar

instanceof gibt an, ob das Objekt Mitglied einer bestimmten Klasse Beispiel ist.

Schlussfolgerung: Das Prinzip der Instanz von, um zu erkennen, ob ein Objekt A eine Instanz eines anderen Objekts B ist, besteht darin, zu prüfen, ob sich das Objekt, auf das der Prototyp von Objekt B zeigt, in der [[Prototyp]]-Kette von Objekt A befindet. Wenn ja, geben Sie „true“ zurück, wenn nicht, geben Sie „false“ zurück. Es gibt jedoch einen Sonderfall: Wenn der Prototyp von Objekt B null ist, wird ein Fehler gemeldet (ähnlich einer Nullzeigerausnahme).

    var arr=[2,3,4,"haa"];
        var obj={"name":"maomao","age":20};
        console.log(arr instanceof Array);  //true
        console.log(obj instanceof Object);  //true
        console.log(arr instanceof Object);  //true
        ---这里跟网上的不同,不知道是什么原因
        console.log(obj instanceof Array);  //false

4. Sie können isArray verwenden, um in ECMAScript 5 zu bestimmen direktes übergeordnetes Objekt, kann aber auch alle übergeordneten Objekte in der gesamten Prototypkette erkennen)

Verwendungsmethode: parent.isPrototypeOf(child) um zu erkennen, ob parent der Prototyp des untergeordneten Objekts ist;

Es ist zu beachten, dass die von der implementierte Funktion Die Funktion isPrototypeOf() ist dem instancof-Operator sehr ähnlich , das aus zwei oder mehr

        var arr=[2,3,4,"haa"];
        var obj={"name":"maomao","age":20};
        console.log(Array.isArray(arr));  //true
        console.log(Array.isArray(obj));  //false
        //注意没有isObject这种方法   暂时

zusammengesetzten mehreren Arrays besteht. Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in PHP, ob es sich um ein Array oder ein Objekt handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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