2

我正在尝试存储对象集合,并且无法在 foreach 循环中调用对象方法。这基本上就是我所拥有的。print 函数不打印任何内容。有什么我在看的东西,或者这不是解决方法吗?

class person
{
    private $name;

    public function __construct($name) {
        $this->name = $name;
    }

    public function get_name() {
        return $this->name;
    }
}

$test_set[] = new person("John");
$test_set[] = new person("Jane");

foreach($test_set as $set_item) {
    print $set_item->get_name();
}
4

2 回答 2

4

你需要这样设置你的名字(可能只是一个错字):

public function __construct($name) {
    $this->name = $name; // not $this->$name
}
于 2012-04-25T20:01:11.593 回答
2

你的循环正在工作。但是您的课程包含一个错误。

代替:

    public function __construct($name) {
        $this->$name = $name;
    }

和:

    public function __construct($name) {
        $this->name = $name;
    }
于 2012-04-25T20:05:34.110 回答