通过arrayObject的PHP循环
这是我第一次使用ArrayObject,所以可能我没有100%理解它,但是你能解释一下如何循环使用它们吗? 这是我的密码通过arrayObject的PHP循环,php,loops,arrayobject,Php,Loops,Arrayobject,这是我第一次使用ArrayObject,所以可能我没有100%理解它,但是你能解释一下如何循环使用它们吗? 这是我的密码 $this->plugins = new \ArrayObject(array()); //just for testing... $this->plugins->plugin1 = "plugin1"; $this->plugins->plugin2 = "plugin2"; $this->plugins->plugin3 = "p
$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。
我该怎么办?你已经走得很远了,但这就是它的工作原理
// 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();
}
你已经走得很远了,但这就是它的工作原理
// 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();
}
您的代码基本正常,只需更改变量的初始化,因此在开始时将所有内容放入数组(“plugin1”),而不是插件->插件1=“plugin1”
。
所以
$plugins=新的ArrayObject(数组(“plugin1”、“plugin2”、“plugin3”);
foreach($plugins作为$plugin){
echo$插件。“
”;
}
您的代码基本正常,只需更改变量的初始化,因此,取而代之的是plugins->plugin1=“plugin1”
,将所有内容放入数组(“plugin1”,…)
。
所以
$plugins=新的ArrayObject(数组(“plugin1”、“plugin2”、“plugin3”);
foreach($plugins作为$plugin){
echo$插件。“
”;
}
如果您使用$this->plugins->plugin1
创建一个简单数组会怎么样?这也是一种解决方法,但我想知道它如何与ArrayObject一起工作以理解和学习它。如果您使用$this->plugins->plugin1
创建一个简单数组会怎么样?这也是一种解决方法,但是我想知道它是如何与ArrayObject一起工作的,以便理解和学习它。所以我必须使用append
方法才能使它工作?感谢you@Anubarak对如果这解决了你的问题,请接受答案,这样它也能帮助其他人。这就是我在4分钟内要做的-我必须稍等一下:D@Anubak仅当您要向对象添加内容时,才使用append
。如果你想遍历一个对象,你根本不需要使用append
,所以我必须使用append
方法才能让它工作?感谢you@Anubarak对如果这解决了你的问题,请接受答案,这样它也能帮助其他人。这就是我在4分钟内要做的-我必须稍等一下:D@Anubak仅当您要向对象添加内容时,才使用append
。如果要遍历对象,根本不需要使用append
。