gpt4 book ai didi

php - 如何使 ArrayIterator 或 ArrayObject 与 implode 一起工作?

转载 作者:可可西里 更新时间:2023-11-01 13:17:50 25 4
gpt4 key购买 nike

我在使用 ArrayIterator 时遇到了一些问题(事实上,ArrayObject 也有同样的问题)。

对于 99% 的一切,我扩展的 ArrayIterator 的行为就像一个数组,并且运行良好。

不幸的是,implode() 不喜欢被赋予 ArrayIterator(或 ArrayObject)。

我在文档中找不到任何建议通过扩展 ArrayIterator 实现的任何其他类,也没有任何其他要覆盖的方法。

任何人都可以建议如何让它工作吗? (注意:每次我使用 implode 时都转换为数组不是解决方案,因为我希望这个类似数组的对象完全像数组一样工作,并且没有使用它的代码必须知道/关心/转换)

最佳答案

最简单的正确解决方案是使用 iterator_to_arrayimplode,例如

$traversable = /* your iterator, ArrayObject or any other type of Traversable */
echo implode(",", iterator_to_array($traversable));

对于任何可以用 foreach 迭代的东西,这将按预期工作。

关于php - 如何使 ArrayIterator 或 ArrayObject 与 implode 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com