だから私はこれを理解しようとして2時間を費やし、問題を切り分けるためにコードを可能な限り最小限に抑えましたが、これを理解することはできません.
だから私はこのコードを持っています:
$arr['key']['name'] = array("one", "two", "three");
$counter = 0;
do
{
$cur = current($arr);
$k = key($arr['key']['name']);
next($arr['key']['name']);
}while($k !== null);
これは終わりのないループです。何らかの理由で、すべての $arr['key']['name'] 値を調べた後、key() は NULL を返す代わりに、再び 0 に戻ります。$cur = current($arr); の削除 しかし、その問題を解決します。php manualによるとcurrent()
、配列ポインタにはまったく影響しません。これで、配列をコピーするとそのポインターがリセットされることがわかりましたが、コピーは行われず、$k があった場合、0 から 2 に移動してから 0 にリセットするのではなく、常にゼロになります。