<?php function reconstructDump() { $args = func_num_args(); for ($i = 0;$i < $args; $i ++) { $param = func_get_arg($i); switch (gettype($param)) { case 'NULL' : echo 'NULL' ; break ; case 'boolean' : echo ($param ? 'bool(true)' : 'bool(false)' ); break ; case 'integer' : echo "int($param)" ; break ; case 'double' : echo "float($param)" ; break ; case 'string' : dumpString($param); break ; case 'array' : dumpArr($param); break ; case 'object' : dumpObj($param); break ; case 'resource' : echo 'resource' ; break ; default : echo 'UNKNOWN TYPE' ; break ; } } } function dumpString($param) { $str = sprintf ( "string(%d) %s" , strlen ($param),$param); echo $str; } function dumpArr($param) { $len = count($param); echo "array($len) {\r\n" ; foreach($param as $key=>$val) { if (is_array($val)) { dumpArr($val); } else { echo sprintf ( '["%s"] => %s(%s)' ,$key,gettype($val),$val); } } echo "}\r\n" ; } function dumpObj($param) { $className = get_class($param); $reflect = new ReflectionClass($param); $prop = $reflect->getDefaultProperties(); echo sprintf ( "Object %s #1(%d) {\r\n" ,$className,count($prop)); foreach($prop as $key=>$val) { echo "[\"$key\"] => " ; reconstructDump($val); } echo "}" ; } class MyClass { protected $_name; function test() { echo "hello" ; } } $str = "test" ; reconstructDump( new MyClass(),$str); echo "\r\n" ; $arr2 = array( "1" => "Ddaddad" , "one" => array( "two" => "Dddd" ), "three" => 1 ); reconstructDump($arr2); reconstructDump(1, true ,null); exit ; |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦