微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

下划线PHP上的参数名称中的点符号已被替换

如何解决下划线PHP上的参数名称中的点符号已被替换

我发送名为“param.name”的 POST 参数

如果我读 PHP://input 一切正常,但如果我尝试从数组 $_POST['param.name'] 中获取参数,它不存在,因为点被替换为下划线,我需要得到param 这种方式 $_POST['param_name'].

也许我应该调整 PHP 中的一些设置...

我使用 PHP 7.4.15

解决方法

这是 their official documentation 中提到的预期 PHP 行为。据我所知,由于与向后兼容性 ($_POST) 相关的原因,PHP 在解析 register_globals 超全局变量时会应用此规则。

php://input 显示您的实际参数名称的原因是因为这是一个原始输入流,显示尚未被 PHP 解析的数据。 $_POST 数据解析。

简而言之,避免在 PHP 输入参数命名中使用点符号或愿意实现自己的解析机制以支持它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。