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

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

高洛峰
高洛峰Original
2016-12-22 15:07:15939Durchsuche

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;
}

Der erste Parameter ist das Array, das Sie konvertieren möchten. Der zweite optionale Parameter legt fest, ob der b2a0af5a8fd26276da50279a1c63a57a 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);

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>

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!


Stellungnahme:
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