肝心のnextはvalue3を吐き出します。2つ先を参照していますね。"value"が取れます。これはなかなかハマりました。なかでポインタが進んでいるわけではなくて、普通にforeachを回すとvalue~value5まで確認できます。まとめforeachの実装そのものの問題のような気もしますけど、foreach内でのnext,current等のポインタ操作には気をつけましょう...という話です。みたいなのをテストしないでデプロイした日には...。追記(2015/01/27)この場合foreachは適切でないというご意見をfacebookやQiitaで頂きました。prev($a),prev($a));後ろふたつのprevがどうなるかわかっていれば特に謎でもないと思う。