加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的数组内部指针是什么?

发布时间:2020-12-13 16:24:17 所属栏目:PHP教程 来源:网络整理
导读:我使用end()将数组的内部指针设置为它的最后一个元素.然后我使用key()来获取最后一个元素的键. 例如: $array = ('one' = 'fish','two' = 'fish','red' = 'fish','blue' = 'fish');end($array)$last_key = key($array); 我唯一不理解的是数组的内部指针是什
我使用end()将数组的内部指针设置为它的最后一个元素.然后我使用key()来获取最后一个元素的键.

例如:

$array = ('one' => 'fish','two' => 'fish','red' => 'fish','blue' => 'fish');
end($array)
$last_key = key($array);

我唯一不理解的是数组的内部指针是什么.有人可以向我解释一下吗?我一直在努力,但无法找到解释.

另外,如何设置数组的内部指针会影响该数组?

在PHP“幕后”中有一个“数组”的内部实现,用C语言编写.这个实现定义了数组数据实际存储在内存中的细节,数组如何表现,如何访问它们等等.这部分C实现是一个“数组指针”,它只是指向数组的特定索引.在非常简化的PHP代码中,它是这样的:
class Array {

    private $data = [];
    private $pointer = 0;

    public function key() {
        return $this->data[$this->pointer]['key'];
    }

}

您无法从PHP代码直接访问此数组指针,您可以使用诸如end,reset,each等PHP函数间接地修改和影响它.有必要使这些函数工作;否则你不能使用next()迭代一个数组,因为它会记住“下一个”条目是什么?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读