php – 如何使用indlode使ArrayIterator或ArrayObject工作?
发布时间:2020-05-25 08:43:57 所属栏目:PHP 来源:互联网
导读:我在使用ArrayIterator时遇到了一些问题(实际上,与ArrayObject相同的问题). 对于99%的所有内容,我的扩展ArrayIterator表现得像一个阵列,并且运行良好. 不幸的是,implode()不喜欢被赋予ArrayIterator(或ArrayObject). 我无法在文档中找到任何建议通过扩展Arra
|
我在使用ArrayIterator时遇到了一些问题(实际上,与ArrayObject相同的问题). 对于99%的所有内容,我的扩展ArrayIterator表现得像一个阵列,并且运行良好. 不幸的是,implode()不喜欢被赋予ArrayIterator(或ArrayObject). 我无法在文档中找到任何建议通过扩展ArrayIterator实现任何其他类的文档,也没有任何其他方法可以覆盖. 任何人都可以建议如何使这个工作? (注意:每次使用implode时都要转换为数组不是解决方案,因为我希望这个类似数组的对象能够完全作为一个数组工作,并且不需要使用它来代码知道/关心/强制转换) 最简单的正确解决方案是使用iterator_to_array来提供内爆,例如
$traversable = /* your iterator,ArrayObject or any other type of Traversable */
echo implode(",",iterator_to_array($traversable));
对于可以使用foreach迭代的任何内容,这将按预期工作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
