您好,登錄后才能下訂單哦!
這篇文章主要介紹了php實現(xiàn)var_dump功能的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
php實現(xiàn)“var_dump”功能的方法:首先創(chuàng)建一個php示例文件;然后定義一個reconstructDump方法;接著通過for循環(huán)的方式實現(xiàn)“var_dump”功能即可。
PHP實現(xiàn)一個類似var_dump函數(shù)的功能!
<?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;
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享php實現(xiàn)var_dump功能的方法內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。