JavaScript (JS) und PHP sind beide gängige Programmiersprachen, und die Datenübertragung und Datentypkonvertierung zwischen ihnen sind häufig Probleme, auf die wir während des Programmierprozesses achten müssen. Unter diesen ist die Konvertierung zwischen Object in JS und Array in PHP eine relativ häufige Situation. In diesem Artikel wird erläutert, wie JS-Objekte in PHP-Arrays und Objektarrays konvertiert werden.
1. Grundkonzepte von JS-Objekten und PHP-Arrays
In JS ist ein Objekt (Objekt) eine Sammlung ungeordneter Schlüssel-Wert-Paare, wobei jeder Schlüssel ein Attribut vom Typ Zeichenfolge ist und jeder Wert ein beliebiger Datentyp sein kann . Objekte können mit „{}“ erstellt werden:
var person = { name: 'Bob', age: 18, gender: 'male' };
In PHP ist ein Array (Array) eine Sammlung geordneter Listen. Jedes Element im Array hat einen eindeutigen Schlüssel (der Schlüssel kann eine Zeichenfolge oder eine Zahl sein). Dieser Schlüssel und der entsprechende Wert bilden ein Schlüssel-Wert-Paar. PHP-Arrays können über „array()“ erstellt werden:
$person = array( 'name' => 'Bob', 'age' => 18, 'gender' => 'male' );
2. JS-Objekte in PHP-Arrays konvertieren
Um JS-Objekte in PHP-Arrays zu konvertieren, müssen Sie zuerst die JS-Objekte in Daten vom Typ String konvertieren und diese dann konvertieren durch bestimmte Verarbeitungsmethoden in ein PHP-Array umgewandelt. Die spezifische Implementierungsmethode lautet wie folgt:
1. Verwenden Sie JSON.stringify(), um das JS-Objekt in eine JSON-Formatzeichenfolge zu konvertieren.
var person = { name: 'Bob', age: 18, gender: 'male' }; var str_person = JSON.stringify(person);
2. Verwenden Sie json_decode(), um die JSON-Formatzeichenfolge in ein PHP-Objekt zu konvertieren, und verwenden Sie dann get_object_vars(), um das Objekt in ein Array zu konvertieren.
$php_person = json_decode($str_person); $php_array = get_object_vars($php_person);
3. Das endgültige $php_array ist ein assoziatives Array, und der Wert des Schlüssel-Wert-Paares kann durch Schleifendurchlauf ermittelt werden.
foreach($php_array as $key => $value){ echo $key . ': ' . $value . "<br />"; }
3. JS-Objekte in PHP-Objekt-Arrays konvertieren
Das Konvertieren von JS-Objekten in PHP-Objekt-Arrays ähnelt der Konvertierung von JS-Objekten in PHP-Arrays. Sie müssen nur bestimmte Verarbeitungsschritte an den konvertierten Ergebnissen durchführen. Die spezifische Implementierungsmethode lautet wie folgt:
1. Verwenden Sie JSON.stringify(), um das JS-Objekt in eine JSON-Formatzeichenfolge zu konvertieren.
var persons = [ {name:'Bob',age:18}, {name:'Tom',age:20}, {name:'Jerry',age:22} ]; var str_persons = JSON.stringify(persons);
2. Verwenden Sie json_decode(), um die JSON-Formatzeichenfolge in ein PHP-assoziatives Array zu konvertieren, und verwenden Sie dann Schleifendurchquerung, um sie in ein PHP-Objektarray zu konvertieren.
$php_persons = json_decode($str_persons,true); $php_obj_persons = array(); foreach($php_persons as $person){ $php_obj_person = (object)$person; array_push($php_obj_persons,$php_obj_person); }
3. Das endgültige $php_obj_persons ist ein Array von PHP-Objekten, und die Attributwerte der Objekte können durch Schleifendurchlauf abgerufen werden.
foreach($php_obj_persons as $person){ echo 'Name: ' . $person->name . ', Age: ' . $person->age . "<br />"; }
Die obigen Codebeispiele dienen nur als Referenz. Der spezifische Implementierungsprozess und die Methoden können entsprechend der tatsächlichen Situation angepasst und optimiert werden.
Zusammenfassung
In diesem Artikel wird die spezifische Methode zum Konvertieren von JS-Objekten in PHP-Arrays und Objektarrays vorgestellt, die JSON-Formatzeichenfolgen, die Funktion json_decode(), die Funktion get_object_vars(), Schleifendurchquerung und andere Technologien umfasst. Im eigentlichen Entwicklungsprozess kann die Auswahl der geeigneten Verarbeitungsmethode nach Bedarf die Effizienz und Wartbarkeit des Codes verbessern.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie JS-Objekte in PHP-Arrays und Objekt-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!