Maison > développement back-end > tutoriel php > Partage de code pour convertir récursivement des tableaux php en XML

Partage de code pour convertir récursivement des tableaux php en XML

高洛峰
Libérer: 2023-03-04 06:12:01
original
983 Les gens l'ont consulté

La nécessité de convertir des tableaux en XML en PHP est courante et il existe de nombreuses méthodes d'implémentation. Baidu a recherché diverses méthodes d'implémentation, mais en gros, ils ont emprunté certains composants. J'ai moi-même écrit une méthode de regroupement de chaînes, qui prend en charge les tableaux multidimensionnels. À titre indicatif seulement, n'hésitez pas à nous faire savoir s'il y a des défauts !

/**
*  将数组转换为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;
}
Copier après la connexion

Ce qui précède est la méthode d'implémentation. Le premier paramètre est le tableau que vous souhaitez convertir. Le deuxième paramètre facultatif définit s'il faut ajouter le nœud racine

Code de test :

$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);
Copier après la connexion

Le résultat après l'exécution du code est :

<xml><a><![CDATA[aaa]]></a><b><c><![CDATA[1234]]></c><d><![CDATA[asdfasdf]]></d></b></xml>
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, j'espère que vous le ferez j'aime ça.


Pour plus de partage de code lié à la conversion récursive de tableaux php en XML, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
xml
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal