Безопасные строки php для использования в многомерном массиве index/key
Я хочу использовать строки, полученные при разборе внешнего XML-документа, в качестве индексов в массиве. Так как я не знаю, какие строки хранятся в этом документе - есть ли какие-либо проверки или процессы очистки, которые я должен использовать, чтобы убедиться, что никогда не будет строки, которую php не может использовать в качестве ключа в массиве?
Следующее отвечает на мой вопрос об размере используемых строк (ограничивается только доступной памятью), но не о том, существуют ли какие-либо специальные виды символов, которые не будут работать в качестве ключей: Существуют ли ограничения по размеру для ключей массива PHP? Каковы ограничения в целом для массивов PHP?
1 ответ
Любая строка подходит в качестве индекса массива. Нет специальных символов, о которых вам нужно заботиться, поскольку PHP не пытается анализировать эти строки или каким-либо иным образом получать от них "значение". Строки - это двоичные двоичные объекты в PHP, подойдет любой двоичный строковый объект.
$array[mcrypt_create_iv(1024, MCRYPT_DEV_RANDOM)] = 'foo';
$array[file_get_contents('bar.jpg')] = 'bar';
$array["\x00\x01\x02\x03"] = 'baz';