新功能的php7foreach修改实例

新功能的php7foreach修改实例
1。foreach()循环不在数组的内部指针发挥作用。在php7,数组指针移动时的数组遍历foreach。现在,没有更多的,看看下面的代码。
$数组{ { 0, 1, 2 };
foreach(数组为Val)
{
var_dump(电流($array));
}
在PHP5中运行的结果将打印int(1)int(2)布尔(假)

该php7运行结果将打印三次int(0),即数组的内部指针没有改变。

以前的运行结果将打印int(1),int(2),和布尔(假)

两。当价值循环,foreach是数组的副本。

当foreach循环根据价值(价值),则是一个复制一个数组的操作,因此在循环数组的修改影响周期行为。
$数组{ { 0, 1, 2 };
$ = $数组;用于触发旧的行为
foreach(数组为Val){
var_dump(美元值);
unset($array { 1 });
}
上面的代码,虽然二元设置的数组是循环中的下降,但php7将打印出来的三个要素:(012)

旧版本的PHP跳过1,只有打印(02)。

三。当引用被循环时,数组的修改将影响循环。

如果参考用于循环,数组的修改会影响环路的行为。然而,这php7版本优化了很多场景下的位置维护。例如,在一个循环中数组中添加元素。
$数组{ { 0 };
foreach(数组为Val){
var_dump(美元值);
$数组{ 1 } = 1;
}
这些元素在上面的代码也参与循环,使php7版画int(0)int(1)

四,一个简单的对象(非穿越平原的周期)。

简单对象的循环与值或引用的循环和引用数组循环的行为相同,但位置的管理更精确。

五。一个对象的行为(遍历对象)对象是符合之前。

编者注:以上StackOverflow的解释:穿越的对象是一个实现迭代器或iteratoraggregate接口。如果一个对象实现一个迭代器或iteratoraggregate界面,它被称为一个迭代的对象。

以上是php7是萧边介绍来的每一个新的特征。我希望它会对你有帮助。如果你有任何问题,请给我留言。萧边会及时回复你。谢谢你的支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部