首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ArrayObject循环

通过ArrayObject循环
EN

Stack Overflow用户
提问于 2017-08-15 07:03:22
回答 2查看 1.4K关注 0票数 1

这是我第一次与ArrayObjects合作,所以我可能不明白它100%,但你能解释一下我如何循环它们吗?

这是我的密码:

代码语言:javascript
复制
$this->plugins = new \ArrayObject(array());
//just for testing...
$this->plugins->plugin1 = "plugin1";
$this->plugins->plugin2 = "plugin2";
$this->plugins->plugin3 = "plugin3";

foreach ($this->plugins as $plugin){
     //never reached
}

$this->plugins->count()返回0,$this->plugins->getIterator()->valid();也返回false。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-15 07:08:52

你已经走得很远了,但这就是它的工作原理。

代码语言:javascript
复制
// You can already have an array like this
$array = array('Buck','Jerry','Tomas');

$arrayObject = new ArrayObject($array);
// Add new element
$arrayObject->append('Tweety');

// We are getting the iterator of the object
$iterator = $arrayObject->getIterator();

// Simple while loop
while ($iterator->valid()) {
    echo $iterator->current() . "\n";
    $iterator->next();
}

来源

票数 4
EN

Stack Overflow用户

发布于 2017-08-15 07:31:03

您的代码几乎没有问题,只需更改变量的初始化,因此plugins->plugin1 = "plugin1"在开始时将所有内容都放入array("plugin1", ...)中。所以

代码语言:javascript
复制
$plugins = new ArrayObject(array("plugin1", "plugin2", "plugin3"));

foreach ($plugins as $plugin){
    echo $plugin . "<br>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45687934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档