note 114623 added to function.xml-parse

From: Date: Thu, 13 Mar 2014 13:00:43 +0000
Subject: note 114623 added to function.xml-parse
Groups: php.notes 
Request: Send a blank email to php-notes+get-198881@lists.php.net to get a copy of this message
Here is my array2xml function. I made it because I coudn't find a generic recursive function that generates a prety formatted XML from any array. Usage: <?php echo xml2array('rootname',$myarray); ?> or if you want to specify a spacing character(s) other than TAB: <?php echo xml2array('rootname',$myarray,' '); ?> or if you want avoid spacing at all <?php echo xml2array('rootname',$myarray,''); ?> <?php function array2xml($nombre,$valor,$tab="\t",$nivel=0){ if ($nivel==0) $r='<?xml version="1.0" encoding="ISO-8859-1"?>'; $arr=!is_numeric($nombre); $spacing=str_repeat($tab,$nivel); if ($tab!='') $newline="\n"; else $newline=''; if (is_array($valor)){ if (count($valor)>0){ $r.=$newline; //$r.=str_repeat($tab,$nivel); foreach($valor as $k=>$v){ if ($arr) $r.="$spacing<$nombre>"; if (is_array($v)) $r.=array2xml($k,$v,$tab,$nivel+$arr); else $r.="$spacing<$k>$v</$k>$newline"; if ($arr) $r.="$spacing</$nombre>$newline"; }//foreach }//count else $r.="$spacing<$nombre></$nombre>"; // it's an empty array } else { if ($arr) $r.="$spacing<$nombre>"; $r.=$valor; if ($arr) $r.="</$nombre>$newline"; } return $r; } ?> ---- Server IP: 80.64.47.13 Probable Submitter: 81.172.52.84 ---- Manual Page -- http://php.net/manual/en/function.xml-parse.php Edit -- https://master.php.net/note/edit/114623 Del: integrated -- https://master.php.net/note/delete/114623/integrated Del: useless -- https://master.php.net/note/delete/114623/useless Del: bad code -- https://master.php.net/note/delete/114623/bad+code Del: spam -- https://master.php.net/note/delete/114623/spam Del: non-english -- https://master.php.net/note/delete/114623/non-english Del: in docs -- https://master.php.net/note/delete/114623/in+docs Del: other reasons-- https://master.php.net/note/delete/114623 Reject -- https://master.php.net/note/reject/114623 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#198881) next »