each():数组指针不能正常工作

Joh*_*lta 1 php

请考虑此代码

var_export ($dates);
while (list($key, $date) = each($dates))
{
    echo("current = ".current($dates));
    echo("key = " . key($dates));
}
Run Code Online (Sandbox Code Playgroud)

结果是

Array
(
    [1359928800] => 1359928800
)

current =
key = 
Run Code Online (Sandbox Code Playgroud)

我预计它应该回归1359928800,我错了?

Jos*_*rns 7

使用数组时,有一个不同的古老结构用于处理迭代:foreach(文档在这里).

我建议以这种方式迭代数组.它更容易阅读,几乎不可能出错.此外,您不必担心在此处的"注意"中提到的无限循环结束的可能性.

<?php
var_export($dates);
foreach($dates as $key => $value) {
    echo("current = ".$value);
    echo("key = ".$key);
}
Run Code Online (Sandbox Code Playgroud)