PHP 中数组的最大密钥大小是多少?
我正在生成关联数组,键值是1..n列的字符串连接。
是否有回来咬我的钥匙的最大长度?如果是这样,我可能会停下来,以不同的方式做。
我正在生成关联数组,键值是1..n列的字符串连接。
是否有回来咬我的钥匙的最大长度?如果是这样,我可能会停下来,以不同的方式做。
它似乎只受脚本内存限制的限制。
快速测试让我获得了128mb的密钥,没问题:
ini_set('memory_limit', '1024M');
$key = str_repeat('x', 1024 * 1024 * 128);
$foo = array($key => $key);
echo strlen(key($foo)) . "<br>";
echo strlen($foo[$key]) . "<br>";
PHP 中的字符串大小没有实际限制。根据手册:
注意:字符串变得非常大是没有问题的。PHP对字符串的大小没有限制;唯一的限制是运行 PHP 的计算机的可用内存。
可以安全地假设这也适用于在数组中使用字符串作为键,但根据PHP处理其查找的方式,您可能会注意到随着字符串变大而性能下降。