将PHP_INT_MAX与数组一起使用时是否会对性能产生影响?

时间:2016-01-14 09:13:52

标签: php arrays

例如,我有以下代码

$array = [];
$array[0] = 0;
$array[1] = 1;
$array[2] = 'max';

foreach ($array as $value) {
    // code
}

我想知道当我使用PHP_INT_MAX作为数组的索引时会对性能产生什么影响。

$array = [];
$array[0] = 0;
$array[1] = 1;
$array[PHP_INT_MAX] = 'max';

foreach ($array as $value) {
    // code
}

无论是否,任何人都可以告诉我原因?谢谢!

1 个答案:

答案 0 :(得分:2)

不,数组仍然只有3个元素,因此内存中只有3个元素。

对于这些元素来说,键的含义并不重要,尽管长字符串键的内存开销很小,因为PHP保持键和值的关系,而较长的字符串使用的内存比较短的串;但在这种情况下,您的键是固定大小的整数,无论​​值是-1,0,98还是PHP_INT_MAX