Существуют ли ограничения по размеру для ключей массива PHP? Каковы ограничения в целом для массивов PHP?
Возможный дубликат:
Каков максимальный размер ключа для массива в PHP?
Как видно из названия, мне интересно, каковы ограничения для массивов PHP?
- Каковы ограничения для ключей массива?
- Могу ли я использовать строку любого размера в качестве ключа?
- В какой момент ключи начнут сталкиваться? Я имею в виду, что массивы PHP были хеш-таблицами. Насколько я понимаю, хеш-таблицы и их хеш-функции заключаются в том, что в какой-то момент две строки могут хешировать одно и то же значение, что приводит к коллизии. Например, было обнаружено, что MD5 не является устойчивым к столкновениям.
- Каков предел размера для массива php?
1 ответ
Каковы ограничения для ключей массива?
Нет теоретических ограничений, кроме размера памяти, выделенной для сценария. Вы также можете найти доказательство в разделе Каков максимальный размер ключа для массива в PHP?
Руководство по PHP говорит здесь;
Примечание. Строка не становится большой. PHP не накладывает никаких ограничений на размер строки; единственным ограничением является доступная память компьютера, на котором работает PHP.
Это важно, поскольку ключи в массиве могут быть строками.
Могу ли я использовать строку любого размера в качестве ключа?
Да, в зависимости от количества памяти, выделенной для скрипта. Вы можете установить размер, запустив скрипт, например
ini_set('memory_limit', '1024M');
это установить объем памяти в один гигабайт. Чтобы установить ограничение памяти для неограниченного использования-1
,НО, когда размер ключей увеличивается, вам понадобится больше энергии для работы с массивом.
В какой момент ключи начнут сталкиваться?
(Сейчас нет, если я понял значение свойства вопросов). Если вы используете все комбинации букв и цифр, вплоть до бесконечной длинной строки, будут бесконечные числа комбинаций. И поэтому они никогда не столкнутся.
Каков предел размера для массива php?
Он ограничен тем же способом, что и выше, количеством памяти, выделенной для скрипта.