各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

浅谈PHP源码二十五:关于next,current,key函数

管理员 2023-09-05
PHP
161

浅谈PHP源码二十五:关于next,current,key函数

内容导读

收集整理的这篇技术教程文章主要介绍了浅谈PHP源码二十五:关于next,current,key函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1666字,纯文字阅读大概需要3分钟

内容图文

这篇文章主要介绍了关于浅谈PHP 源码二十五:关于next,current,key函数,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

浅谈PHP 源码二十五:关于next,current,key函数

key — 从关联数组中取得键名
mixed key ( array &array )
key() 返回数组中当前单元的键名。

此函数通过调用zend_hash.c中的zend_hash_get_current_key_ex实现key值的返回
在zend_hash_get_current_key_ex函数中根据nKeyLength属性判断key为字符串或者数字,然后返回

current — 返回数组中的当前单元
mixed current ( array &array )
每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。
current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE。

此函数通过最终是调用zend_hash_get_current_data_ex函数实现value的返回
zend_hash_get_current_data_ex函数直接返回数组元素中存储的值:
*pData = p->pData;
如果数组中存在false元素,则返回值和没有找到的返回值是一样的,这是一个比较纠结的地方

next — 将数组中的内部指针向前移动一位
mixed next ( array &array )
返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE。

next() 和 current() 操作十分类似,只有一点区别,在返回值之前将内部指针向前移动一位。即调用了zend_hash_move_forward(target_hash);
这意味着它返回的是下一个数组单元的值并将数组指针向前移动了一位。如果移动指针的结果是超出了数组单元的末端,则 next() 返回 FALSE。
并且和current()一样,当数组元素中存在false时,next()的返回值也会是false

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

浅谈PHP源码二十四 :iterator实现中当值为false时无法完成迭代的原因分析

浅谈PHP 源码二十三 :关于urlencode函数

以上就是浅谈PHP 源码二十五:关于next,current,key函数的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的浅谈PHP源码二十五:关于next,current,key函数全部内容,希望文章能够帮你解决浅谈PHP源码二十五:关于next,current,key函数所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部