Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie einen PHP-JSON-String in ein Array

So konvertieren Sie einen PHP-JSON-String in ein Array

藏色散人
Freigeben: 2023-03-06 12:44:02
Original
3460 Leute haben es durchsucht

So konvertieren Sie einen PHP-JSON-String in ein Array: Verwenden Sie zuerst die Funktion „json_decode“, um den String im JSON-Format zu codieren. Geben Sie dann „$students“ über die Methode „var_dump($students)“ aus.

So konvertieren Sie einen PHP-JSON-String in ein Array

Empfohlen: „PHP-Video-Tutorial

php-JSON-String in Array oder Objekt

Die im Internet gefundene Methode besteht darin, get_object_vars zu verwenden, um den Klassentyp in ein Array zu konvertieren, und dann foreach zum Durchlaufen zu verwenden it

$array = get_object_vars($test);
$json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';
Nach dem Login kopieren

Verwenden Sie zuerst json_decode, um die Zeichenfolge im JSON-Format zu kodieren

$students = json_decode($json);
Nach dem Login kopieren

Verwenden Sie $students direkt in der PHP-Datei:

for($i=0;$i<count($students);$i++){
         echo "姓名:".$students[$i][&#39;name&#39;]."年龄:".$students[$i][&#39;age&#39;]."专业:".$students[$i][&#39;subject&#39;]."<br/>";
    }
Nach dem Login kopieren

Der Fehler wird wie folgt aussehen:

Fatal error
: Cannot use objectof type stdClass as array in 
D:\wamp\www\test.php
on line 
18
Nach dem Login kopieren

Zu diesem Zeitpunkt drucken Sie $students:

var_dump($students);
Nach dem Login kopieren
Nach dem Login kopieren

gibt Folgendes aus:

array(2) {
        [0]=>
        object(stdClass)#2 (4) {
             ["id"]=> string(1)"1"
             ["name"]=> string(9)"张雪梅"
             ["age"]=> string(2)"27"
        object(stdClass)#3 (4) {                              这个就说明转换的json字符串转为对象而非数组,请看下面的红色背景字
Nach dem Login kopieren
["subject"]=>string(24) "计算机科学与技术"
        }
        [1]=>
            ["id"]=> string(1)"2"
            ["name"]=> string(9)"张沛霖"
            ["age"]=> string(2)"21"
           ["subject"]=> string(12) "软件工程"
        }
    }
Nach dem Login kopieren

Es ist ersichtlich, dass das zurückgegebene Ergebnis ein Objekt und kein Array ist. Der Zugriff sollte in Objektform erfolgen:

foreach($students as $obj){
         echo "姓名:".$obj->name."年龄:".$obj->age."专业:".$obj->subject."<br/>";
    }
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Name: Zhang string$json [ , bool$assoc ] )

Beschreibung: Akzeptiert eine JSON-Formatzeichenfolge und konvertiert sie in eine PHP-Variable. json_decode kann zwei Parameter empfangen:
json: die Zeichenfolge im

json

string-Format, die dekodiert werden soll.

assoc: Wenn dieser Parameter TRUE ist, wird ein Array anstelle eines Objekts zurückgegeben.

 $students = json_decode($json,true);
Nach dem Login kopieren
Jetzt $students drucken:

var_dump($students);
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe:

array(2) {
        [0]=>
        array(4) {
            ["id"]=> string(1)"1"
            ["name"]=> string(9)"张雪梅"
            ["age"]=> string(2)"27"
            ["subject"]=>string(24) "计算机科学与技术"
        }
        [1]=>
        array(4) {
           ["id"]=> string(1)"2"
           ["name"]=> string(9)"张沛霖"
           ["age"]=> string(2)"21"
           ["subject"]=>string(12) "软件工程"
        }
    }
Nach dem Login kopieren
Zu diesem Zeitpunkt ist $students ein Array und kann direkt verwendet werden:

for($i=0;$i<count($students);$i++){
     echo "姓名:".$students[$i][&#39;name&#39;]."年龄:".$students[$i][&#39;age&#39;]."专业:".$students[$i][&#39;subject&#39;]."<br/>";
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Name: Zhang Xuemei Alter: 27 Hauptfach : Informatik und Technologie

Name: Zhang Peilin Alter: 21 Hauptfach: Software Engineering

Zusammenfassung:


Zwei Methoden zur Verarbeitung von JSON-Formatzeichenfolgen in PHP-Code:

Methode eins:

$json= &#39;[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]&#39;;
$students= json_decode($json);//得到的是 object
foreach($studentsas $obj){
    echo "姓名:".$obj->name."   年 龄:".$obj->age."   专 业:".$obj->subject."<br />";}
Nach dem Login kopieren

Methode zwei:

$json= &#39;[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]&#39;;
$students= json_decode($json, true);//得到的是 array
for($i=0;$i<count($students);$i++){    echo "姓名:".$students[$i][&#39;name&#39;]."   年 龄:".$students[$i][&#39;age&#39;]."   专 业:".$students[$i][&#39;subject&#39;]."<br />";
Nach dem Login kopieren
-------------------------------- - ------------------------------------------------- - -----------------------------------


Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen PHP-JSON-String in ein Array. 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