我想在Symfony2 Controller中迭代ArrayCollection
实例,最简单的方法是什么?
编辑:
我认为它会像php中的普通数组一样工作,但我在这段代码上遇到错误:
foreach ($arrayCollectionInc as $Inc) {
}
答案 0 :(得分:32)
对于那些在将来发现这个问题的人来说,除了接受的答案之外,还有另一种方式我认为这是一种更好的做法,只是将ArrayCollection
转换为数组。如果您要转换为数组,为什么还要先考虑ArrayCollection
?
您可以使用ArrayCollection
函数轻松遍历getIterator()
而无需将其转换为数组。
foreach($arrayCollection->getIterator() as $i => $item) {
//do things with $item
}
答案 1 :(得分:12)
最简单的方法:
$arr = $arrayCollectionInc->toArray();
foreach ($arr as $Inc) {
}
工作示例:
$a = new ArrayCollection();
$a->add("value1");
$a->add("value2");
$arr = $a->toArray();
foreach ($arr as $a => $value) {
echo $a . " : " . $value . "<br />";
}
结果:
0 : value1
1 : value2
答案 2 :(得分:0)
绝对同意不应将其转换为数组,但是,->getIterator()
不是必需的。
foreach($arrayCollection as $i => $item) {
//do things with $item
}