Безопасные строки 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';
Другие вопросы по тегам