Nachdem foreach & verwendet, um das Array arr2 zu durchlaufen, ist das Ergebnis sehr verwirrend. Ich frage mich, ob irgendein Experte erklären kann, wie sich der &-Traversalzeiger bewegt.
Der Code lautet wie folgt:
$arr2 = ['a','s','d'];
foreach ($arr2 as $k => &$v){
echo $k." ".$v."<br>";
}
//unset($v);
foreach ($arr2 as $k => $v){
echo $k." ";
echo $v." ".current($arr2)."<br>";
}
Ergebnis:
0 a
1 s
2 d
0 a a
1 s a
2 s a
Warum blieb der Zeiger stehen, als er sich beim zweiten Durchlauf auf s bewegte?
或者你可以这么做:
输出:
补充一点