php - 为什么 PHP 不断重置数组指针?

标签 php arrays

所以我花了 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);然而解决了这个问题。 According to php manual , current() 根本不影响数组指针。现在我知道复制一个数组会重置它的指针,但是没有复制进行,如果有 $k 将一直为零,而不是从 0 到 2 然后重置回 0。

最佳答案

current() 不会移动您使用它的数组的数组指针,但您在不同的数组。它正在重置嵌套 数组的指针。

关于php - 为什么 PHP 不断重置数组指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083246/

相关文章:

php - Laravel 在 View 中显示错误

php - Symfony 查询错误 : Expected Literal, 得到 '"'

java - 将值添加到数组的数组列表的语法

JavaScript/jQuery : Loop through array values inside an object

php - 根据数据库记录检查 REQUEST_URI 中的目录

php - 如何在没有cron的情况下向MySQL数据库写入数据?

php - 交响乐团 5 : An unexpected value could not be normalized: stream resource

java - 初学者通过数组搜索

php - 数组值相加不当

mysql - 根据先前的 select 语句更新行