gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:46:00 24 4
gpt4 key购买 nike

我正在使用 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 代码直接访问此数组指针,您只能使用 endreset 等 PHP 函数间接修改和影响它每个 等。使这些功能正常工作是必要的;否则您无法使用 next() 迭代数组,因为它会在哪里记住“下一个”条目是什么?

关于php - 什么是 PHP 中的数组内部指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28059372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com