note 32947 deleted from function.print-r by aidan
| From: | aidan@php.net | Date: | Mon, 11 Oct 2004 13:06:20 +0000 |
| Subject: | note 32947 deleted from function.print-r by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-78334@lists.php.net to get a copy of this message | ||
Note Submitter: sopak at matrixway dot cz
----
if you have problem with deep object recursion or cyclyng in object try these
function VarDump(&$vardump,$methods=true,$level=0,$max_level=0)
{
if($level==0)
{
echo "<pre>\n";
}
echo "(".gettype($vardump)."){"."\n";
switch(gettype($vardump))
{
case "object":
echo "<ul>";
if($methods)
{
echo get_class($vardump)."(\n";
$vars=(array)get_object_vars($vardump);
echo "<ul>";
foreach($vars as $var=>$varval)
{
if(is_string($varval))$varval=htmlentities($varval);
if(trim($var)) echo '$'.$var." => ".$varval."\n";
}
$mets=(array)get_class_methods($vardump);
foreach($mets as $met)
{
if(trim($met))echo $met."\n";
}
echo "</ul>";
echo ")\n";
}
else
{
echo get_class($vardump)."\n";
}
echo "</ul>";
break;
case "array":
foreach ($vardump as $key => $value)
{
echo "<ul>";
echo "[".htmlentities($key)."]";
VarDump($value,$methods,$level+1,$max_level);
echo "</ul>";
}
break;
default:
echo "<ul>";
echo htmlentities($vardump)."\n";
echo "</ul>";
}
echo "}\n";
if($level==0)echo "\n</pre>\n";
}