Methode: Verwenden Sie zuerst simplexml_load_string(), um die XML-Zeichenfolge in ein SimpleXMLElement-Objekt zu konvertieren; verwenden Sie dann json_encode(), um das Objekt in JSON-Daten zu konvertieren; schließlich verwenden Sie json_decode(), um die JSON-Daten in ein Array zu konvertieren.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php konvertiert XML in Array-Nummer
1. Funktion:
/* @desc:xml转数组 @param data xml字符串 @return arr 解析出的数组 */ function xmltoarray($data){ $obj = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA); $json = json_encode($obj); $arr = json_decode($json, true); return $arr; }
simplexml_load _string() Funktion Konvertiert eine wohlgeformte XML-Zeichenfolge in ein SimpleXMLElement-Objekt.
json_encode() wird zum JSON-Kodieren von Variablen verwendet. Diese Funktion gibt JSON-Daten zurück, wenn sie erfolgreich ausgeführt wird, andernfalls gibt sie FALSE zurück. Mit der Funktion
json_decode() wird ein JSON-formatierter String dekodiert und in eine PHP-Variable (Objekt oder Array) konvertiert.
json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
Parameter
json_string: Zu dekodierender JSON-String, muss UTF-8-codierte Daten sein
assoc: Wenn dieser Parameter TRUE ist, wird ein Array zurückgegeben, und wenn dieser Parameter FALSE ist, wird ein Objekt zurückgegeben .
Tiefe: Parameter vom Typ Integer, der die Rekursionstiefe angibt.
Optionen: Binärmaske, derzeit wird nur JSON_BIGINT_AS_STRING unterstützt.
2. Test:
a. Ausgabe:
<?php $string = <<<XML <?xml version='1.0'?> <document> <title>Forty What?</title> <from>Joe</from> <to>Jane</to> <body> I know that's the answer -- but what's the question? </body> </document> XML; $arr = xmltoarray($string); var_dump($arr);
Weitere Programmierkenntnisse finden Sie unter:
ProgrammiervideoDas obige ist der detaillierte Inhalt vonSo konvertieren Sie XML in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!