foreach遍历指针,php5.6与php7不同之处


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遍历之后,指针已经超出数组合理位置了。

没有更多推荐了,返回首页