我想在Symfony2 Controller中迭代ArrayCollection
實例,最簡單的方法是什麼?如何在Symfony2 Controller中迭代ArrayCollection控制器
編輯:
我認爲這是可行的像正常的數組中的PHP,但我對這個代碼有錯誤:
foreach ($arrayCollectionInc as $Inc) {
}
我想在Symfony2 Controller中迭代ArrayCollection
實例,最簡單的方法是什麼?如何在Symfony2 Controller中迭代ArrayCollection控制器
編輯:
我認爲這是可行的像正常的數組中的PHP,但我對這個代碼有錯誤:
foreach ($arrayCollectionInc as $Inc) {
}
最簡單的方法:
$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
對於那些誰在未來找到這個問題有,我會考慮比公認的答案,這只是ArrayCollection
轉換到一個數組一個更好的做法另一種方式。如果你打算只將數組轉換爲數組,爲什麼還要在ArrayCollection
這個位置呢?
通過使用getIterator()
函數,您可以輕鬆遍歷ArrayCollection
而無需將其轉換爲數組。
foreach($arrayCollection->getIterator() as $i => $item) {
//do things with $item
}
這應該被認爲是最佳實踐。 – Tofandel 2017-06-22 08:55:05
你忘了,包括你試過什麼 – 2014-09-04 14:26:18
'的foreach($集合作爲$項目){...}' – 2014-09-04 14:28:26
什麼錯誤? 'ArrayCollection'擴展了'Collection',後者又實現了'IteratorAggregate'和'ArrayAccess' --->'foreach'應該是可能的... – 2014-09-04 15:18:56