Существуют ли ограничения по размеру для ключей массива PHP? Каковы ограничения в целом для массивов PHP?

Возможный дубликат:
Каков максимальный размер ключа для массива в PHP?

Как видно из названия, мне интересно, каковы ограничения для массивов PHP?

  1. Каковы ограничения для ключей массива?
  2. Могу ли я использовать строку любого размера в качестве ключа?
  3. В какой момент ключи начнут сталкиваться? Я имею в виду, что массивы PHP были хеш-таблицами. Насколько я понимаю, хеш-таблицы и их хеш-функции заключаются в том, что в какой-то момент две строки могут хешировать одно и то же значение, что приводит к коллизии. Например, было обнаружено, что MD5 не является устойчивым к столкновениям.
  4. Каков предел размера для массива php?

1 ответ

  1. Каковы ограничения для ключей массива?

    Нет теоретических ограничений, кроме размера памяти, выделенной для сценария. Вы также можете найти доказательство в разделе Каков максимальный размер ключа для массива в PHP?

    Руководство по PHP говорит здесь;

    Примечание. Строка не становится большой. PHP не накладывает никаких ограничений на размер строки; единственным ограничением является доступная память компьютера, на котором работает PHP.

    Это важно, поскольку ключи в массиве могут быть строками.

  2. Могу ли я использовать строку любого размера в качестве ключа?

    Да, в зависимости от количества памяти, выделенной для скрипта. Вы можете установить размер, запустив скрипт, например ini_set('memory_limit', '1024M'); это установить объем памяти в один гигабайт. Чтобы установить ограничение памяти для неограниченного использования -1,

    НО, когда размер ключей увеличивается, вам понадобится больше энергии для работы с массивом.

  3. В какой момент ключи начнут сталкиваться?

    (Сейчас нет, если я понял значение свойства вопросов). Если вы используете все комбинации букв и цифр, вплоть до бесконечной длинной строки, будут бесконечные числа комбинаций. И поэтому они никогда не столкнутся.

  4. Каков предел размера для массива php?

    Он ограничен тем же способом, что и выше, количеством памяти, выделенной для скрипта.

Другие вопросы по тегам