Heim > Artikel > Backend-Entwicklung > Rekursive Implementierung der Konvertierung eines PHP-Arrays in XML
Die Notwendigkeit, PHP-Gewinner-Arrays in XML zu konvertieren, ist weit verbreitet, und es gibt viele Implementierungsmethoden. Baidu hat nach verschiedenen Implementierungsmethoden gesucht, aber im Grunde haben sie einige Komponenten ausgeliehen. Ich habe selbst eine String-Gruppierungsmethode geschrieben, die mehrdimensionale Arrays unterstützt. Nur als Referenz, bitte teilen Sie uns mit, wenn es Mängel gibt!
<span>/*</span><span>* * 将数组转换为xml * @param array $data 要转换的数组 * @param bool $root 是否要根节点 * @return string xml字符串 * @author Dragondean * @url http://www.cnblogs.com/dragondean </span><span>*/</span><span>function</span> arr2xml(<span>$data</span>, <span>$root</span> = <span>true</span><span>){ </span><span>$str</span>=""<span>; </span><span>if</span>(<span>$root</span>)<span>$str</span> .= "<xml>"<span>; </span><span>foreach</span>(<span>$data</span><span>as</span><span>$key</span> => <span>$val</span><span>){ </span><span>if</span>(<span>is_array</span>(<span>$val</span><span>)){ </span><span>$child</span> = arr2xml(<span>$val</span>, <span>false</span><span>); </span><span>$str</span> .= "<<span>$key</span>><span>$child</span></<span>$key</span>>"<span>; }</span><span>else</span><span>{ </span><span>$str</span>.= "<<span>$key</span>><![CDATA[<span>$val</span>]]></<span>$key</span>>"<span>; } } </span><span>if</span>(<span>$root</span>)<span>$str</span> .= "</xml>"<span>; </span><span>return</span><span>$str</span><span>; }</span>
Das Obige ist die Implementierungsmethode. Der erste Parameter ist das Array, das Sie konvertieren möchten. Der zweite optionale Parameter legt fest, ob Sie den
Testcode:
<span>$arr</span>=<span>array</span>('a'=>'aaa','b'=><span>array</span>('c'=>'1234' , 'd' => "asdfasdf"<span>)); </span><span>echo</span> arr2xml(<span>$arr</span>);
Das Ergebnis nach der Ausführung des Codes ist:
<span><</span><span>xml</span><span>><</span><span>a</span><span>></span><span><!</span><span>[CDATA[aaa]]</span><span>></span><span></</span><span>a</span><span>><</span><span>b</span><span>><</span><span>c</span><span>></span><span><!</span><span>[CDATA[1234]]</span><span>></span><span></</span><span>c</span><span>><</span><span>d</span><span>></span><span><!</span><span>[CDATA[asdfasdf]]</span><span>></span><span></</span><span>d</span><span>></</span><span>b</span><span>></</span><span>xml</span><span>></span>
Das Obige stellt die rekursive Implementierung der Konvertierung von PHP-Arrays in XML vor, einschließlich der relevanten Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.