Java PHP数组是连续的内存块吗?

Java PHP数组是连续的内存块吗?,java,php,arrays,memory,Java,Php,Arrays,Memory,以下是Java中的一个数组: int[] myArray = new int[3]; myArray[0] = 0; myArray[1] = 1; myArray[2] = 2; 第一行立即保留3个连续的内存块。创建第四个元素实际上需要使用int[4]创建一个新数组,然后将值从索引0传输到新数组中。例如: int[] mySecondArray = new int[4]; for (int i = 0; i < myArray.length; i += 1) { mySecon

以下是Java中的一个数组:

int[] myArray = new int[3];
myArray[0] = 0;
myArray[1] = 1;
myArray[2] = 2;
第一行立即保留3个连续的内存块。创建第四个元素实际上需要使用int[4]创建一个新数组,然后将值从索引0传输到新数组中。例如:

int[] mySecondArray = new int[4];
for (int i = 0; i < myArray.length; i += 1) {
    mySecondArray[i] = myArray[i];
}
mySecondArray[3] = 3;
在将附加元素推到现有数组上之后,PHP是否真正负责创建新数组?或者PHP数组实际上与C和Java等语言中的数组不一样(在内存方面)?我有点担心,因为我看到很多PHP代码迭代一个循环,并在现有数组中添加50多个新元素,这在Java中是完全荒谬的

或者PHP数组实际上与C和Java等语言中的数组不一样(在内存方面)

在PHP中,数组实际上是哈希表。然而,内存管理很难进行比较,因为它们是两种完全不同的语言

或者PHP数组实际上与C和Java等语言中的数组不一样(在内存方面)


在PHP中,数组实际上是哈希表。但是,内存管理很难比较,因为它们是两种完全不同的语言。

您有内存问题吗?我不知道具体细节,但我相信PHP的创建者会尽可能高效地处理这一问题。PHP数组比传统数组包含更多种类的数据结构。这样的结构在C和Java中肯定存在(
ArrayList
)@Dagon我只是一名实习生,但我的团队中的开发人员一直在争论PHP中哪个更快:10000个变量赋值还是10000个PHP数组赋值。这个问题是在他们讨论时我想到的。工作参数超出了堆栈溢出的范围。@Dagon你错了。这不在堆栈溢出的范围之外。我问了一个关于编程的合理问题,这个问题可以帮助其他想知道PHP如何使用内存的人。你有内存问题吗?我不知道具体细节,但我相信PHP的创建者会尽可能高效地处理这个问题。PHP数组比传统数组包含更多种类的数据结构。这样的结构在C和Java中肯定存在(
ArrayList
)@Dagon我只是一名实习生,但我的团队中的开发人员一直在争论PHP中哪个更快:10000个变量赋值还是10000个PHP数组赋值。这个问题是在他们讨论时我想到的。工作参数超出了堆栈溢出的范围。@Dagon你错了。这不在堆栈溢出的范围之外。我问了一个关于编程的合理问题,这个问题可以帮助其他想知道PHP如何使用内存的人。但我基本上认为你说过PHP数组类似于Java或C数组。我可能误解了,原来的帖子早就不见了mind@Esailija再次添加原始报价。它应该像“是的,它不像C和Java中的数组”。看来,我们在谈论同样的事情。我在评论你最初的帖子,但忘了它读了什么。但我基本上认为你说过PHP数组类似于Java或C数组。我可能误解了,原来的帖子早就不见了mind@Esailija再次添加原始报价。它应该像“是的,它不像C和Java中的数组”。看来,我们在谈论同样的事情。
$my_array = array(0, 1, 2);
$my_array[] = 4;