Задать вопрос
zkrvndm
@zkrvndm
Архитектор решений

Какие символы разрешены в ключах массивов?

Заметил кое-что странное, когда присылаю на сервер данные в кодировке application/x-www-form-urlencoded у меня пробелы в ключах $_POST заменяются на нижнее подчеркивание. Я перепроверил, данные которые отправляются браузером полностью корректные и там все верно кодируется: пробелы в теле запроса закодированы как %20

Это особенность встроенного парсера или в php существуют какие-то ограничения для ключей массивов?

Если вдруг первое, то как бы пофиксить? Просто хотелось, чтобы все по красоте было, чтобы удобно.
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Dots and spaces in variable names are converted to underscores. For example becomes $_REQUEST["a_b"].

https://www.php.net/manual/en/language.variables.e...

да, это задокументированное поведение (скорей всего тяжкое наследие register_globals)

filter_input так же сохраняет это поведение. Значит остаётся не извращаться с пробелами брать сырой php://input и парсить самостоятельно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы