php如何实现var_dump功能

互联网 20-8-24

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功能的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: var_dump
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:php8具体发布时间表一览!

相关资讯