PHP使用$_GET读取URL参数时第二个参数未定义问题求助
问题原因
- URL中参数之间的分隔符
&被错误编码为了URL编码形式%26,PHP解析GET参数时仅会将未编码的原生&识别为参数分隔符。 - 编码后的
%26会被解码为普通&字符归入c参数的值,因此你拿到的c参数完整值为hJjB0wf/f4o&t=4m52Jkm81j8,不存在独立的t参数,自然会提示t未定义。
修复方案
- 生成URL时注意区分:仅参数值内部包含的特殊字符需要做URL编码,参数之间的分隔符
&不能编码。 - 若你只能拿到已经错误编码的URL,可先将URL中的
%26替换为原生&后再解析参数,也可以拿到c的完整值后自行拆分出t的对应内容。
内容的提问来源于stack exchange,提问作者user12545009
相关产品推荐
相关产品推荐

