我在使用ArrayIterator时遇到了一些问题(实际上,与ArrayObject相同的问题).
对于99%的所有内容,我的扩展ArrayIterator表现得像一个阵列,并且运行良好.
不幸的是,implode()不喜欢被赋予ArrayIterator(或ArrayObject).
我无法在文档中找到任何建议通过扩展ArrayIterator实现任何其他类的文档,也没有任何其他方法可以覆盖.
任何人都可以建议如何使这个工作? (注意:每次使用implode时都要转换为数组不是解决方案,因为我希望这个类似数组的对象能够完全作为一个数组工作,并且不需要使用它来代码知道/关心/强制转换)
最简单的正确解决方案是使用
原文链接:https://www.f2er.com/php/130397.htmliterator_to_array
来提供内爆,例如
$traversable = /* your iterator,ArrayObject or any other type of Traversable */ echo implode(",",iterator_to_array($traversable));
对于可以使用foreach迭代的任何内容,这将按预期工作.