Heim > Artikel > Backend-Entwicklung > So ermitteln Sie in PHP, ob es sich um ein Array oder ein Objekt handelt
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.
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!