php - 遍历 php 类的属性

标签 php dynamic variables

如何遍历 php 类的(公共(public)或私有(private))属性?

最佳答案

tl;dr

// iterate public vars of class instance $class
foreach (get_object_vars($class) as $prop_name => $prop_value) {
   echo "$prop_name: $prop_value\n";
}

进一步的例子:

http://php.net/get_object_vars

Gets the accessible non-static properties of the given object according to scope.

class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e; // statics never returned

    public function test() {
        var_dump(get_object_vars($this)); // private's will show
    }
}

$test = new foo;

var_dump(get_object_vars($test)); // private's won't show

$test->test();

输出:

array(2) {
  ["b"]=> int(1)
  ["c"]=> NULL
}

array(4) {
  ["a"]=> NULL
  ["b"]=> int(1)
  ["c"]=> NULL
  ["d"]=> NULL
}

关于php - 遍历 php 类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861254/

相关文章:

javascript - 在 JavaScript 中的元素之前添加 innerHTML?

SQL Server 动态查询

php - 在 mysql_query 字符串中使用 PHP 变量

javascript - 我的包含 javascript 变量的 echo 不起作用

JavaScript 数组不使用 Ajax 发布到 PHP 文件

php - 方法/函数中需要 2 个参数之一(两个参数之一可选)

javascript - 使用 jquery 动态更改 WordPress 菜单页面

list - 字典的ansible访问列表

python - 变量赋值和修改(在python中)

php - CakePHP -/admin/的管理路由,但不是所有其他路由(设置默认管理为 false 的方法?)