将PHP_INT_MAX与阵列一起使用时是否会对性能产生影响


Is there a performance impact when use PHP_INT_MAX with array?

例如,我有以下代码

$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
}

不管是不是,谁能告诉我原因?谢谢!

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

这些元素的键是什么并不重要,尽管长字符串键有轻微的内存开销,因为 PHP 维护键和值,并且较长的字符串比较短的字符串使用更多的内存;但在这种情况下,你的键是固定大小的整数,无论值是 -1, 0、98 或 PHP_INT_MAX