栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP自己实现var_dump函数

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP自己实现var_dump函数


    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) {rn";    foreach($param as $key=>$val) {        if(is_array($val)) {            dumpArr($val);        else {            echo sprintf('["%s"] => %s(%s)',$key,gettype($val),$val);        }    }    echo "}rn";function dumpObj($param) {    $className = get_class($param);    $reflect = new ReflectionClass($param);    $prop = $reflect->getDefaultProperties();    echo sprintf("Object %s #1(%d) {rn",$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 "rn";$arr2   = array(    "1"     => "Ddaddad",    "one"   => array("two" => "Dddd" ),    "three" => 1);reconstructDump($arr2); reconstructDump(1,true,null);exit;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号