您好,欢迎访问一九零五行业门户网

php如何实现var_dump功能

php实现“var_dump”功能的方法:首先创建一个php示例文件;然后定义一个reconstructdump方法;接着通过for循环的方式实现“var_dump”功能即可。
推荐:《php视频教程》
php实现一个类似var_dump函数的功能!
<?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;
以上就是php如何实现var_dump功能的详细内容。
其它类似信息

推荐信息