note 69533 added to ref.xml
| From: | dkflbk at nm dot ru | Date: | Sat, 09 Sep 2006 01:37:16 +0000 |
| Subject: | note 69533 added to ref.xml | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-116949@lists.php.net to get a copy of this message | ||
More than a year ago, i wrote xml2array function
(i'm the same "vladson at pc-labs dot info", i just don't have that e-mail any
more)
Now i think, why don't make things the other way around ? :)
<?php
function array_to_xml($array, $encoding=false, $level=0) {
$xml = '';
if ( $level == 0 ) {
$xml = '<?xml version="1.0"' . ($encoding ? ' encoding="' .
$encoding . '"' : '') . '?>'."\n";
}
$level++;
foreach($array as $key=>$value) {
if ( empty($value) ) {
if ( is_int($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<int />' . "\n";
} elseif ( is_string($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<'.$key.' />' . "\n";
}
} elseif ( is_string($value) || is_int($value) ) {
if ( is_int($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<string>' . htmlspecialchars($value) . '</string>' .
"\n";
} elseif ( is_string($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<'.$key.'>' . htmlspecialchars($value) .
'</'.$key.'>' . "\n";
}
} elseif ( is_array($value) ) {
if ( is_int($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<array>' . "\n";
$xml .= array_to_xml($value, $encoding, $level);
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '</array>' . "\n";
} elseif ( is_string($key) ) {
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '<'.$key.'>' . "\n";
$xml .= array_to_xml($value, $encoding, $level);
for($i=1; $i<$level; $i++) $xml .= "\t";
$xml .= '</'.$key.'>' . "\n";
}
}
}
return $xml;
}
?>
----
Server IP: 66.163.161.117
Probable Submitter: 195.50.206.160
----
Manual Page -- http://www.php.net/manual/en/ref.xml.php
Edit -- https://master.php.net/note/edit/69533
Del: integrated -- https://master.php.net/note/delete/69533/integrated
Del: useless -- https://master.php.net/note/delete/69533/useless
Del: bad code -- https://master.php.net/note/delete/69533/bad+code
Del: spam -- https://master.php.net/note/delete/69533/spam
Del: non-english -- https://master.php.net/note/delete/69533/non-english
Del: in docs -- https://master.php.net/note/delete/69533/in+docs
Del: other reasons-- https://master.php.net/note/delete/69533
Reject -- https://master.php.net/note/reject/69533
Search -- https://master.php.net/manage/user-notes.php