PHP数组键是否有大小限制? PHP数组的一般限制是什么?

时间:2012-03-16 19:42:18

标签: php arrays

  

可能重复:
  What is the max key size for an array in PHP?

正如标题所说,我想知道PHP数组的限制是什么?

  1. 数组键的限制是什么?
  2. 我可以使用任何大小的字符串作为密钥吗?
  3. 键会在什么时候开始碰撞? 我的意思是,我认为PHP数组是哈希表。我对哈希表及其哈希函数的理解是,在某些时候,两个字符串可以散列到相同的值,从而导致冲突。例如,发现MD5不具有抗碰撞性。
  4. php数组的大小限制是什么?

1 个答案:

答案 0 :(得分:7)

  1. 数组键的限制是什么?

    没有理论限制超过分配给脚本的内存大小。您还可以在What is the max key size for an array in PHP?

    找到证据

    php手册说here;

      

    注意:字符串变得非常大没有问题。 PHP对字符串的大小没有限制;唯一的限制是运行PHP的计算机的可用内存。

    这很重要,因为数组中的键可以是字符串。

  2. 我可以使用任何尺寸的字符串作为键吗?

    是的,具体取决于为脚本分配的内存量。您可以通过启动脚本来设置大小,例如ini_set('memory_limit', '1024M');此设置的内存量为1 GB。要将内存限制设置为无限制,请使用-1

    当密钥的大小增加时,您需要更多的电量才能使用该阵列。

  3. 键会在什么时候开始碰撞?

    (我现在不介绍问题属性)如果你使用字母和数字的所有组合直到无穷长字符串,那么将会有无穷大的组合数。因此,他们永远不会发生碰撞。

  4. php数组的大小限制是什么?

    以与上述相同的方式限制为脚本分配的内存量。