<?php function
my_var_dump() {
for ( $i
= 0; $i <func_num_args(); ++ $i )
{
$param
= func_get_arg( $i );
$ptype = gettype ( $param );
switch ( $ptype )
{
case
"NULL" : echo
"NULL" ; break ;
case
"boolean" : var_dump_boolean( $param );
break ;
case
"integer" : var_dump_integer( $param );
break ;
case
"double" : var_dump_double( $param );
break ;
case
"string" : var_dump_string( $param );
break ;
case
"array" : var_dump_array( $param );
break ;
case
"object" : var_dump_object( $param );
break ;
case
"resource" : echo
"resource" ; break ;
default :
echo
"unknown type" ; }
}
}
function
var_dump_boolean( $bool )
{
if ( $bool )
echo
"bool(true)" ; else echo
"bool(false)" ; }
function
var_dump_integer( $int )
{
echo
"int($int)" ; }
function
var_dump_double( $double )
{
echo
"float($double)" ;
}
/**
* param:String str
* des:输出字符串类型的变量
*/ function
var_dump_string( $str )
{
$len = strlen ( $str );
$value = "string($len) \"$str\"" ;
echo
$value ; }
function
var_dump_array( $arr )
{
$keys = array_keys ( $arr );
$len = count ( $arr );
echo
"array($len){" ; for ( $i =0; $i < $len ; $i ++)
{
echo
" [\"$keys[$i]\"]=> " ;
$index = $keys [ $i ];
my_var_dump( $arr [ $index ]);
}
echo
"}" ; }
function
var_dump_prop( $obj )
{
$reflect
= new
ReflectionClass( $obj );
$prop
= $reflect ->getDefaultProperties();
$keys = array_keys ( $prop );
$len = count ( $prop );
echo
" ($len){" ; for ( $i =0; $i < $len ; $i ++)
{
echo
" [\"$keys[$i]\"]=> " ;
$index = $keys [ $i ];
my_var_dump( $prop [ $index ]);
}
echo
"}" ; }
function
var_dump_object( $obj )
{
$objId =1;
//对象id $className =get_class( $obj );
echo
"object($className)#$objId " ;
var_dump_prop( $obj );
}
/*以下为测试*/ class
MyClass {
var
$sss ; function
test() {
echo
"Dd" ; }
}
$ddd = "hhh" ;
my_var_dump( new
MyClass()); $arr2 = array ( "Ddd" => "Ddaddad" , "Dadadadad" => array ( "ddddd" => "Dddd" ), "Ddddad" =>1);
my_var_dump( $arr2 );
?> |
描述:还不知道如何获取 对象的编号