位置: 编程技术 - 正文
推荐整理分享PHP7新特性foreach 修改示例介绍(php7.2新特性),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php7.1新特性,php7的特性,php7的特性,php7.0新特性,php7.3新特性,php7.4新特性,php7.3新特性,php7新特性面试题,内容如对您有帮助,希望把文章链接给更多的朋友!
一、foreach()循环对数组内部指针不再起作用,在PHP7之前,当数组通过foreach迭代时,数组指针会移动。现在开始,不再如此,见下面代码。。
PHP5运行的结果会打印int(1) int(2) bool(false)
PHP7运行的结果会打印三次int(0),也就是说数组的内部指针并没有改变。
之前运行的结果会打印int(1), int(2)和bool(false)
二、按照值进行循环的时候,foreach是对该数组的拷贝操作
foreach按照值进行循环的时候(by-value),foreach是对该数组的一个拷贝进行操作。这样在循环过程中对数组做的修改是不会影响循环行为的。
上面的代码虽然在循环中把数组的第二个元素unset掉,但PHP7还是会把三个元素打印出来:(0 1 2)之前老版本的PHP会把1跳过,只打印(0 2).
三、按照引用进行循环的时候,对数组的修改会影响循环。
如果在循环的时候是引用的方式,对数组的修改会影响循环行为。不过PHP7版本优化了很多场景下面位置的维护。比如在循环时往数组中追加元素。
上面的代码中追加的元素也会参与循环,这样PHP7会打印"int(0) int(1)",老版本只会打印"int(0)"。
四、对简单对象plain (non-Traversable) 的循环。
对简单对象的循环,不管是按照值循环还是按引用循环,和按照引用对数组循环的行为是一样的。不过对位置的管理会更加精确。
五、对迭代对象(Traversable objects)对象行为和之前一致。
编者按:stackoverflow上面的解释:Traversable object is one that implements Iterator or IteratorAggregate interface。如果一个对象实现了iterator或者IteratorAggregate接口,即可称之为迭代对象。
以上所述是小编给大家介绍的PHP7新特性foreach 修改,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
Apache PHP MySql安装配置图文教程 每一项技术用的人多了,就会有人将其进行优化,做成一个简单、实用、大众化的工具,这对于初识者来说是非常方便的,但是对于长久学习或工作这
PHP导出带样式的Excel示例代码 前言在大家工作中做导出的时候,需要导出自定义的表格或嫌弃导出的Excel格式太难看了。这时候就需要设置颜色、字号大小、加粗、合并单元格等等。
PHP编写简单的App接口 本篇是笔记尝试写的第一个PHP接口,并在iOS开发中尝试应用测试。今天给大家分享如何自己写接口来测试!相信很多朋友在开发时遇到过这样的问题:
标签: php7.2新特性
本文链接地址:https://www.jiuchutong.com/biancheng/301662.html 转载请保留说明!友情链接: 武汉网站建设