foreach遍历指针,php5.6与php7不同之处
2018年02月26日 23:23:10 BadJet 阅读数:278 标签: phpforeach 更多
个人分类: phpforeach
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遍历之后,指针已经超出数组合理位置了。