请考虑此代码
var_export ($dates);
while (list($key, $date) = each($dates))
{
echo("current = ".current($dates));
echo("key = " . key($dates));
}
结果是
Array
(
[1359928800] => 1359928800
)
current =
key =
我希望它应该返回1359928800
,我错在哪里?
请考虑此代码
var_export ($dates);
while (list($key, $date) = each($dates))
{
echo("current = ".current($dates));
echo("key = " . key($dates));
}
结果是
Array
(
[1359928800] => 1359928800
)
current =
key =
我希望它应该返回1359928800
,我错在哪里?
原因是each
指针已经前进了。
该文档指出:
从数组中返回当前键值对并推进数组游标。
所以循环内部current
指的是下一个元素。在您的情况下,没有下一个元素,所以它是false
. 您应该使用$key
and$date
或更好地使用foreach
,就像已经建议的那样。
为什么不使用$key
and $date
?
while (list($key, $date) = each($dates))
{
echo("current = ".$date); // 1359928800
echo("key = " . $key); // 1359928800
}