echo "<h1>下面研究遍历之后的指针位置:</h1>";
$arr5 = array( 1 => 3, 'a1' =>11, 3 => 5, "mn" => 18, 88 =>2 );
foreach($arr5 as $key => $value){
echo "<br />$key =>$value";
}
$k = key($arr5);
$v = current($arr5);
echo "<br />此时(遍历之后),“位置”为:"; var_dump($k);
echo "<br />此时(遍历之后),对应“值”为:"; var_dump($v);php5.6运行结果:
下面研究遍历之后的指针位置:
1 =>3
a1 =>11
3 =>5
mn =>18
88 =>2
此时(遍历之后),“位置”为:NULL
此时(遍历之后),对应“值”为:bool(false) php7运行结果:
下面研究遍历之后的指针位置:
1 =>3
a1 =>11
3 =>5
mn =>18
88 =>2
此时(遍历之后),“位置”为:int(1)
此时(遍历之后),对应“值”为:int(3)可见,php7遍历之后,指针还是在第0项位置;php5.6遍历之后,指针已经超出数组合理位置了。

本文通过示例对比了PHP5.6与PHP7版本中,使用foreach遍历数组后指针的位置变化。在PHP5.6中,遍历结束后指针超出数组范围;而在PHP7中,指针停留在数组的第一个元素位置。

2320

被折叠的 条评论
为什么被折叠?



