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

Jer*_*naw 2 php arrays

可能重复:
PHP中数组的最大密钥大小是多少?

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

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

Mat*_*ias 7

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

    没有理论限制超过分配给脚本的内存大小.您还可以找到PHP中数组的最大键大小是什么的证明

    php手册在这里说;

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

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

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

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

    但是当键的大小增加时,您将需要更多的电源来处理数组.

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

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

  4. php数组的大小限制是多少?

    它以与上面相同的方式受限于为脚本分配的内存量.