PHP ist eine sehr beliebte Programmiersprache und wird häufig im Bereich der Webentwicklung eingesetzt. In PHP ist JSON ein sehr verbreitetes Datenaustauschformat und die Konvertierung von JSON-Strings in Arrays ist ein wesentlicher Schritt bei der Verarbeitung von JSON-Daten. In diesem Artikel erfahren Sie, wie Sie in PHP einen JSON-String in ein Array konvertieren.
1. Was ist JSON? Der vollständige Name von JSON ist JavaScript Object Notation. Es handelt sich um ein leichtes Datenaustauschformat. Es basiert auf der Objektdarstellung von JavaScript, hat jedoch nichts mit der JavaScript-Sprache zu tun und kann von verschiedenen Programmiersprachen analysiert und generiert werden.
In JSON werden Daten im Allgemeinen in Form von „Schlüssel-Wert-Paaren“ ausgedrückt, z. B. {“key1“: „value1“, „key2“: „value2“}. Unter diesen muss der Schlüssel vom Typ String sein und der Wert kann verschiedene Datentypen wie String, Zahl, Boolescher Typ, Array, Objekt usw. haben. Der Vorteil dieses Datenformats besteht darin, dass es leicht zu verstehen und zu schreiben, zu lesen und zu analysieren, zu übertragen und zu verarbeiten ist. In der Webentwicklung wird JSON häufig für den Datenaustausch zwischen Front-End und Backend verwendet.
2. So konvertieren Sie einen JSON-String in ein Array in PHP
PHP bietet eine sehr einfache Methode zum Konvertieren eines JSON-Strings in ein Array, nämlich die Funktion json_decode(). Diese Funktion kann eine JSON-formatierte Zeichenfolge in ein PHP-Array oder -Objekt dekodieren. Die Syntax der Funktion
json_decode() lautet wie folgt:
mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
Unter diesen ist $json die zu dekodierende JSON-Zeichenfolge, $assoc gibt an, ob das dekodierte JSON in ein assoziatives Array konvertiert werden soll, und $ Depth gibt die Tiefe an Konvertierung und $options gibt Optionen bei der Konvertierung an.
JSON-Zeichenfolge in gewöhnliches Objekt konvertieren$json_string = '{"name":"Tom","age":18}'; $obj = json_decode($json_string); var_dump($obj);
Ausgabe:
object(stdClass)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }
Der obige Code dekodiert die JSON-Zeichenfolge in ein normales Objekt. Nach der Dekodierung können Sie den Operator -> verwenden, um die Eigenschaftswerte des Objekts abzurufen.
JSON-Zeichenfolge in assoziatives Array konvertieren$json_string = '{"name":"Tom","age":18}'; $arr = json_decode($json_string, true); var_dump($arr);
Ausgabe:
array(2) { ["name"]=>string(3) "Tom" ["age"]=>int(18) }
Der obige Code dekodiert die JSON-Zeichenfolge in ein assoziatives Array. Nach der Dekodierung können Sie den Array-Index verwenden, um den Elementwert des Arrays abzurufen.
Es ist zu beachten, dass beim Konvertieren einer JSON-Zeichenfolge in ein assoziatives Array bei doppelten Schlüsseln im JSON nur das letzte Schlüssel-Wert-Paar beibehalten wird.
JSON-String in PHP-Objekt konvertieren$json_string = '{"name":"Tom","age":18}'; $obj = json_decode($json_string, false, 512, JSON_OBJECT_AS_ARRAY); $php_obj = new stdClass(); foreach($obj as $key => $value) { $php_obj->$key = $value; } var_dump($php_obj);
Ausgabe:
object(stdClass)#4 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }
Der obige Code dekodiert die JSON-Zeichenfolge in ein PHP-Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare des assoziativen Arrays an das neue stdClass-Objekt zu übergeben, und verwenden Sie dann den Operator $->, um auf die Eigenschaftswerte des Objekts zuzugreifen.
Fazit
In PHP ist das Konvertieren eines JSON-Strings in ein Array sehr einfach. Verwenden Sie einfach die Funktion json_decode(). Es ist zu beachten, dass bei doppelten Schlüsseln in JSON nur das letzte Schlüssel-Wert-Paar beibehalten wird.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen JSON-String in ein Array in PHP (eine kurze Analyse der Methode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!