Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用foreach循环为数组中的对象调用对象方法_Php_Oop_Foreach - Fatal编程技术网

Php 如何使用foreach循环为数组中的对象调用对象方法

Php 如何使用foreach循环为数组中的对象调用对象方法,php,oop,foreach,Php,Oop,Foreach,我试图存储对象集合,但无法在foreach循环中调用对象方法。这基本上就是我所拥有的。打印功能无打印。是有什么我看得太多了还是不是这样 class person { private $name; public function __construct($name) { $this->name = $name; } public function get_name() { return $this->name;

我试图存储对象集合,但无法在foreach循环中调用对象方法。这基本上就是我所拥有的。打印功能无打印。是有什么我看得太多了还是不是这样

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();
}

您需要这样设置您的姓名(可能只是输入错误):


你的循环正在工作。但是你的课有个错误

替换:

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


这是个打字错误。它仍然不会改变空输出。对我来说,它在测试文件中工作。任何带有
错误报告的错误输出(E_ALL);ini_集('display_errors','1')在顶部?@DanLee我设置了这两个,一切都很好。它只是不打印任何内容。然后用
echo
试试?我无法解释这种行为。或者你需要给我们更多的代码。我复制粘贴了你的代码,效果很好。问题出在别的地方。是否打开了错误报告?这是我的代码的简化版本。我复制粘贴了它,它也起作用了。这一定是我的高级课程中的内容。请尝试此代码。它可能是多参数构造?另一个输入错误,叫做
\uu construct()
..@DanLee,这是正确的。非常感谢。呃,匿名反对票。可能是因为选民认为这比一个非常相似的答案晚了几分钟。但这仍然是正确的。
    public function __construct($name) {
        $this->$name = $name;
    }
    public function __construct($name) {
        $this->name = $name;
    }