Heim > Backend-Entwicklung > PHP-Problem > Konvertieren Sie mehrere JSON-Dateien in ein Array in PHP

Konvertieren Sie mehrere JSON-Dateien in ein Array in PHP

王林
Freigeben: 2023-05-11 11:56:36
Original
577 Leute haben es durchsucht

In der PHP-Entwicklung verwenden wir normalerweise das Json-Format (JavaScript Object Notation), ein leichtes Datenaustauschformat, das Konzepte in einer für Menschen leicht lesbaren Form ausdrückt und auch für Maschinen geeignet ist. In der tatsächlichen Entwicklung kann es vorkommen, dass wir mehrere Json-Daten in PHP-Arrays konvertieren müssen. Deshalb werden wir heute darüber sprechen, wie diese Funktion implementiert wird.

1. Konvertieren Sie einen einzelnen Json in ein Array

In PHP verwenden wir die Funktion json_decode(), um Daten im Json-Format in ein PHP-Array zu konvertieren, wie zum Beispiel: #🎜 🎜#

$json_str = '{"name":"John", "age":30, "city":"New York"}';
$arr = json_decode($json_str, true);
Nach dem Login kopieren

Unter diesen bedeutet der zweite Parameter true, dass Json-Daten in ein assoziatives Array konvertiert werden. Wenn der zweite Parameter nicht hinzugefügt wird, wird ein Objekt generiert.

2. Konvertieren Sie mehrere Json-Daten in Arrays.

Wenn Sie mehrere Json-Daten in PHP-Arrays konvertieren müssen, können wir die Json-Daten mithilfe der Schleifendurchquerung einzeln in Arrays konvertieren 1. Und fügen Sie sie zu einem Array zusammen. Der Code lautet wie folgt:

$json_arr = array(
    '{"name":"John", "age":30, "city":"New York"}',
    '{"name":"Jane", "age":25, "city":"Los Angeles"}',
    '{"name":"Tom", "age":40, "city":"Chicago"}'
);

$data = array();
foreach($json_arr as $json_str) {
    $arr = json_decode($json_str, true); // 将Json数据转成数组
    if(is_array($arr)) { // 如果转换成功,则将其合并到$data数组中
        $data = array_merge($data, $arr);
    }
}

print_r($data);
Nach dem Login kopieren

Im obigen Code definieren wir zunächst ein Array $json_arr, das mehrere Json-Daten enthält, und konvertieren dann alle Json-Daten durch Schleifendurchlauf in ein Array und fügen Sie sie schließlich zusammen, um ein Array $data zu generieren, das alle Daten enthält.

Es ist zu beachten, dass, wenn die Konvertierung von Json-Daten in ein Array fehlschlägt, diese nicht in das $data-Array zusammengeführt werden, um Datenfehler zu vermeiden.

3. Verwenden Sie die Funktion array_map(), um Daten zu konvertieren.

Zusätzlich zur Schleifendurchquerung können wir auch die Funktion array_map() von PHP verwenden, um mehrere Json-Daten in Arrays und Code zu konvertieren Wie folgt:

$json_arr = array(
    '{"name":"John", "age":30, "city":"New York"}',
    '{"name":"Jane", "age":25, "city":"Los Angeles"}',
    '{"name":"Tom", "age":40, "city":"Chicago"}'
);

// 将Json数据转换成数组
$callback = function($json_str) {
    $arr = json_decode($json_str, true);
    if(is_array($arr)) {
        return $arr;
    }
};

$data = array_filter(array_map($callback, $json_arr)); // 过滤掉转换失败的数据

print_r($data);
Nach dem Login kopieren

Im obigen Code definieren wir eine $callback-Funktion, um Json-Daten in ein Array zu konvertieren. Dies wird dann als Parameter an die Funktion array_map() übergeben, um jedes Element im Array $json_arr umzuwandeln. Verwenden Sie abschließend die Funktion array_filter(), um die Daten herauszufiltern, die nicht konvertiert werden konnten, und erhalten Sie ein Array $data, das alle Daten enthält.

Zusammenfassung:

Durch die beiden oben genannten Methoden können wir die Funktion der Konvertierung mehrerer Json-Daten in PHP-Arrays realisieren. Wenn Sie in der tatsächlichen Entwicklung eine große Menge an JSON-Daten verarbeiten müssen, wird empfohlen, die Funktion array_map() zu verwenden, da diese schneller und der Code einfacher ist. Während der Verwendung müssen Sie auch auf die Überprüfung der Daten achten, um Datenfehler zu vermeiden.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie mehrere JSON-Dateien in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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