微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 列出某个类的所有对象

好的,我的问题如下;

我有一个用这个构造函数描述宠物的类;

public function __construct($name,$type,$age)

所以我想做的是制作一些pet对象,然后我想打印这个类的所有对象的所有属性,使它看起来像this

最好的方法是什么?我知道如何遍历对象的变量,但我主要关心的是如何遍历某个类的所有对象.如果有人能给我看一些代码示例,我会很高兴,特别是如果有一种方法可以不使用数组.

任何帮助表示赞赏!

通常,您可能希望有一些方法来跟踪您创建的实例,可能是在数组中或某种类型的包含类.

但是为了参数,您可以使用get_defined_vars()检查当前作用域中的所有变量,递归搜索您找到的任何数组或对象,如下所示:

function findInstancesOf($classname,$vars)
{
    foreach($vars as $name=>$var)
    {
        if (is_a($var,classname)) 
        {
             //dump it here
             echo "$name is a $classname<br>";

        }
        elseif(is_array($var))
        {
             //recursively search array     
             findInstancesOf($classname,$var);
        }
        elseif(is_object($var))
        {
             //recursively search object members
             $members=get_object_var($var);     
             findInstancesOf($classname,$members);
        }
    }
}

$vars = get_defined_vars();
findInstancesOf('MyPetClass',$vars);

原文地址:https://www.jb51.cc/php/130618.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐