Php 如何使用foreach循环为数组中的对象调用对象方法
我试图存储对象集合,但无法在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;
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;
}