php如何实现var_dump功能
2022-12-02 09:01:16
110
{{single.collect_count}}

php实现“var_dump”功能的方法:首先创建一个php示例文件;然后定义一个reconstructDump方法;接着通过for循环的方式实现“var_dump”功能即可。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

推荐:《PHP视频教程

PHP实现一个类似var_dump函数的功能!

<?phpfunction 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功能的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}