note 58811 added to function.print-r
| From: | thbley at gmail dot com | Date: | Wed, 16 Nov 2005 20:10:24 +0000 |
| Subject: | note 58811 added to function.print-r | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-98671@lists.php.net to get a copy of this message | ||
Here is a print_r that produces xml:
(now you can expand/collapse the nodes in your browser)
<?php
header('Content-Type: text/xml; charset=UTF-8');
echo print_r_xml($some_var);
function print_r_xml($arr,$first=true) {
$output = "";
if ($first) $output .= "<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n<data>\n";
foreach($arr as $key => $val) {
if (is_numeric($key)) $key = "arr_".$key; // <0 is not allowed
switch (gettype($val)) {
case "array":
$output .= "<".htmlspecialchars($key)." type='array'
size='".count($val)."'>".
print_r_xml($val,false)."</".htmlspecialchars($key).">\n"; break;
case "boolean":
$output .= "<".htmlspecialchars($key)."
type='bool'>".($val?"true":"false").
"</".htmlspecialchars($key).">\n"; break;
case "integer":
$output .= "<".htmlspecialchars($key)."
type='integer'>".
htmlspecialchars($val)."</".htmlspecialchars($key).">\n"; break;
case "double":
$output .= "<".htmlspecialchars($key)." type='double'>".
htmlspecialchars($val)."</".htmlspecialchars($key).">\n"; break;
case "string":
$output .= "<".htmlspecialchars($key)." type='string'
size='".strlen($val)."'>".
htmlspecialchars($val)."</".htmlspecialchars($key).">\n"; break;
default:
$output .= "<".htmlspecialchars($key)."
type='unknown'>".gettype($val).
"</".htmlspecialchars($key).">\n"; break;
}
}
if ($first) $output .= "</data>\n";
return $output;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.print-r.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+58811
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+58811&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+58811&report=yes
Search -- http://master.php.net/manage/user-notes.php