gpt4 book ai didi

php - RecursiveIteratorIterator 中 next() 和 nextElement() 的区别

转载 作者:可可西里 更新时间:2023-10-31 22:45:49 25 4
gpt4 key购买 nike

RecursiveIteratorIterator::next()RecursiveIteratorIterator::nextElement() 有什么区别?

文档略有不足:

最佳答案

从 PHP 源代码来看,nextElement 似乎是一个回调函数,可以在“下一个元素可用时”调用。

288  if (object->nextElement && (object->mode == RIT_SELF_FIRST || object->mode == RIT_CHILD_FIRST)) {
289 zend_call_method_with_0_params(&zthis, object->ce, &object->nextElement, "nextelement", NULL);
290 }

Source .

从查看 spl_iterators.c:801 来看,迭代器类中的默认 nextElement 函数目前似乎没有做任何事情。 .

现在它看起来像是一个空操作,因为没有办法为该函数注册您自己的回调,并且在 PHP 源代码中,它目前什么都不做。 从代码来看,如果注册后,当迭代器向前移动到下一个元素时,在对项目执行操作之前调用该回调(例如,foreach 循环中的用户态代码)。

有关如何使用它的说明,请参阅@RamboCoder 的回答。

关于php - RecursiveIteratorIterator 中 next() 和 nextElement() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11833769/

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