<?phpfunctionreconstructDump(){$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'UNKNOWNTYPE';break;}}}functiondumpString($param){$str=sprintf("string(%d)%s",strlen($param),$param);echo$str;}functiondumpArr($param){$len=count($param);echo"array($len){\r\n";foreach($paramas$key=>$val){if(is_array($val)){dumpArr($val);}else{echosprintf('["%s"]=>%s(%s)',$key,gettype($val),$val);}}echo"}\r\n";}functiondumpObj($param){$className=get_class($param);$reflect=newReflectionClass($param);$prop=$reflect->getDefaultProperties();echosprintf("Object%s#1(%d){\r\n",$className,count($prop));foreach($propas$key=>$val){echo"[\"$key\"]=>";reconstructDump($val);}echo"}";}classMyClass{protected$_name;functiontest(){echo"hello";}}$str="test";reconstructDump(newMyClass(),$str);echo"\r\n";$arr2=array("1"=>"Ddaddad","one"=>array("two"=>"Dddd"),"three"=>1);reconstructDump($arr2);reconstructDump(1,true,null);exit;