内存中是否存在Empty索引

时间:2015-06-23 09:33:50

标签: php arrays memory

我创建了一个类似

的数组
arr[15] = "hello";
arr[21] = "world";

0141520都有空索引。这些空索引是否存储在内存中。它们会导致内存消耗吗?是否可以为数组提供随机索引

2 个答案:

答案 0 :(得分:1)

PHP数组是关联的,也称为字典,也称为哈希映射,也称为键值存储。密钥之间没有关系,这意味着密钥15的存在并不意味着密钥14的存在,正如密钥'foo'的存在并不意味着存在密钥'bar'一样。键15。因此,PHP数组都是稀疏。当您创建密钥0时,PHP会而不是填充密钥14 - <suite id="s1" name="SW upgrade"> <suite id="s1-s1" name="BASIC FUNCTION"> <test name="my test"> <status status="fail"/> </test> </suite> </suite> 。它们不存在,也不占用记忆。

答案 1 :(得分:0)

  

这里是从0到14和15到20的空索引。这些空索引是否存储在内存中。它们会导致记忆消耗

如果你创建了一个包含这些键的数组,那么是的,它们会占用内存

如果您正在创建array

$array = array();
var_dump(isset($array));//bool(true)

然后它也消耗内存。因此,如果您的数组包含空值,那么它也会消耗内存

  

Null将被转换为空字符串,即键空值实际上将存储在&#34;&#34;。

Check Docs