合作伙伴的付款系统正在调用我的一个页面来确认交易。 它发送GET参数,其中一个是重复的:相同的密钥,不同的值。
像这样:
?(othersparams)&REFERENCE=test1&REFERENCE=test2
(仅供参考我无法控制这些参数)
我只需要第一个,直到现在它始终与$_GET['REFERENCE']
从昨天起我们遇到了付款问题,我发现这是第二个被解析而不是第一个值。
据我所知,没有服务器更改。
当给出重复的GET参数密钥时,你能告诉我更多关于PHP行为的信息吗? 什么可以解释这种变化?
非常感谢。
答案 0 :(得分:1)
正如K-Balo所说, 查询字符串被解析为关联数组$ _GET,因此当存在重复键时,只有该值的最后一个版本出现在地图上。但是,您可以访问原始$ _SERVER ['QUERY_STRING']并自行解析。
您也可以参考这篇文章:
Can I have multiple $_GET with the same key, different values?