PHP 自己實現var_dump函式
private static $isInLoop = false; private static $buffer = false; public static function dumps() { $args = func_get_args(); $args_num = func_num_args(); if (self::$buffer && $args_num == 1) { $args = func_get_args(); $args = isset($args[0]) ? $args[0] : []; if (!empty($args) && (is_array($args) || is_object($args))) { $args_num = count($args); } } self::$buffer = false; for ($i = 0; $i "; $index = $keys[$i]; self::$isInLoop = true; self::dumps($arr[$index]); } array_pop($pads); $pad = implode('', $pads); echo "n{$pad}}"; if ($pad == '') { echo "n"; } } public static function dump_prop($obj) { static $pads = []; $reflect = new ReflectionClass($obj); $prop = $reflect->getProperties(); $len = count($prop); echo "($len) {"; array_push($pads, " "); for ($i = 0; $i isPublic()) { continue; } $prop_name = $prop[$index]->getName(); echo "n", implode('', $pads), "["{$prop_name}"] => "; self::$isInLoop = true; self::dumps($prop[$index]->getValue($obj)); } array_pop($pads); $pad = implode('', $pads); echo "n{$pad}}"; if ($pad == '') { echo "n"; } } public static function dump_object($obj) { static $objId = 1; $className = get_class($obj); echo "object($className)#$objId"; $objId++; self::dump_prop($obj); }
dumps(new class(),"abc",111);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1762/viewspace-2803240/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Golang實現PHP常用函式GolangPHP函式
- Go實現PHP常用函式GoPHP函式
- PHP內建字串函式實現PHP字串函式
- PHP中實現函式過載PHP函式
- 利用 PHP 反射實現內建函式文件PHP反射函式
- 【build your own xxx】實現你自己的bind函式UI函式
- 分享一下自己寫的PHP函式PHP函式
- 自己實現一個簡單可變引數函式函式
- php 函式PHP函式
- php函式PHP函式
- PHP 函式PHP函式
- php實現共享記憶體程式通訊函式之_shmPHP記憶體函式
- PHP 常用函式PHP函式
- PHP匿名函式PHP函式
- PHP常用函式PHP函式
- PHP函式大全PHP函式
- PHP函式mktimePHP函式
- PHP字串函式PHP字串函式
- PHP 每日一函式 — 字串函式 crypt ()PHP函式字串
- PHP 每日一函式 — 字串函式 chr ()PHP函式字串
- PHP 每日一函式 — 字串函式 addslashes ()PHP函式字串
- PHP 每日一函式 — 字串函式 addcslashes ()PHP函式字串
- MySQL分析函式實現MySql函式
- MySQL排名函式實現MySql函式
- fcntl函式實現dup函式
- [docker+gdb] 除錯 PHP 原始碼,看 strval 函式 C 實現Docker除錯PHP原始碼函式
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- php中函式的實參和形參PHP函式
- PHP函式漏洞審計之addslashes函式-PHP函式
- PHP常用函式篇PHP函式
- PHP 時間函式PHP函式
- PHP 匿名函式初探PHP函式
- php函式瑣記PHP函式
- php 函式簡介PHP函式
- PHP常用函式大全PHP函式
- php 可變函式PHP函式
- php 內建函式PHP函式
- PHP:常用PHP陣列操作函式PHP陣列函式