Как PHP обрабатывает целочисленные индексированные непоследовательные ключевые массивы? - PullRequest
2 голосов
/ 28 января 2011

Мне интересно, насколько эффективно в PHP хранить массив с непоследовательными целочисленными индексами.

Если бы у меня был массив

$b = array();
$b[1] = "Hello";
$b[18] = "World";
$b[999] = "Test";

Сохраняются ли эти ключи и затем хэшируются в новый массив, как PHP справляется с этим?

Ответы [ 2 ]

1 голос
/ 28 января 2011

С php wep site в массиве:

Массив в PHP на самом деле является упорядоченной картой. Карта - это тип, который связывает значения с ключами. Этот тип оптимизирован для нескольких различных применений; его можно рассматривать как массив, список (вектор), хеш-таблицу (реализацию карты), словарь, коллекцию, стек, очередь и, возможно, больше. Поскольку значения массива могут быть другими массивами, деревья и многомерные массивы также возможны.

Выполнение print_r ($ b); на ваш код выдает следующий вывод:

Array
(
    [1] => Hello
    [18] => World
    [999] => Test
)
0 голосов
/ 28 января 2011

На этот вопрос уже дан ответ
Эффективность PHP-массива и разъяснение памяти

По сути, массивы в php наиболее похожи на Maps.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...