Heim > Backend-Entwicklung > PHP-Tutorial > Code-Sharing zum rekursiven Konvertieren von PHP-Arrays in XML

Code-Sharing zum rekursiven Konvertieren von PHP-Arrays in XML

高洛峰
Freigeben: 2023-03-04 06:12:01
Original
965 Leute haben es durchsucht

Die Notwendigkeit, Arrays in PHP 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!

/**
*  将数组转换为xml
*  @param array $data  要转换的数组
*  @param bool $root   是否要根节点
*  @return string     xml字符串
*  @author Dragondean
*  @url  http://www.cnblogs.com/dragondean
*/
function arr2xml($data, $root = true){
  $str="";
  if($root)$str .= "<xml>";
  foreach($data as $key => $val){
    if(is_array($val)){
      $child = arr2xml($val, false);
      $str .= "<$key>$child</$key>";
    }else{
      $str.= "<$key><![CDATA[$val]]></$key>";
    }
  }
  if($root)$str .= "</xml>";
  return $str;
}
Nach dem Login kopieren

Der erste Parameter ist das Array, das Sie konvertieren möchten. Der zweite optionale Parameter legt fest, ob der hinzugefügt werden soll.

Testcode:

$arr=array(&#39;a&#39;=>&#39;aaa&#39;,&#39;b&#39;=>array(&#39;c&#39;=>&#39;1234&#39; , &#39;d&#39; => "asdfasdf"));
echo arr2xml($arr);
Nach dem Login kopieren

Das Ergebnis nach der Ausführung des Codes ist:

<xml><a><![CDATA[aaa]]></a><b><c><![CDATA[1234]]></c><d><![CDATA[asdfasdf]]></d></b></xml>
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, Sie werden es tun gefällt mir.


Weitere Informationen zum Teilen von Code im Zusammenhang mit der rekursiven Konvertierung von PHP-Arrays in XML finden Sie auf der chinesischen PHP-Website!


Verwandte Etiketten:
xml
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