我查了下,get_class_vars这个函数不包括private 和protected的属性,有没有其他的?

解决方案 »

  1.   

    php 5+有Reflection可以用,不妨手册一下.
      

  2.   

    class A {
      private $a = 1;
      protected $b = 2;
      public $c = 3;
      var $d = a;
    }print_r(get_class_vars('A')); //Array ( [c] => 3 [d] => a ) 
    $p = new A;print_r(get_object_vars($p)); //Array ( [c] => 3 [d] => a )print_r($p); //A Object ( [a:private] => 1 [b:protected] => 2 [c] => 3 [d] => a ) 
    var_export($p); // A::__set_state(array( 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 'a', ))