You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PHP将URL的GET参数直接解析为数组?

解决方案

方法1:修改客户端参数格式,让PHP自动解析为数组

PHP默认会识别array[]=xxx&array[]=yyy这类格式的GET参数并直接解析为数组。你可以调整前端代码,放弃JSON序列化,直接构造符合PHP参数规范的请求串:

前端代码示例:

let url = window.location.href.split('?')[0];
const array = [1010, 1020, 1030];
// 用URLSearchParams便捷构造参数
const params = new URLSearchParams();
array.forEach(item => {
  params.append('array[]', item);
});
url += "?" + params.toString();

生成的URL解码后为:https://www.test.com?array[]=1010&array[]=1020&array[]=1030

此时PHP端直接调用$_GET['array']就能拿到数组:

var_dump($_GET['array']);
// 输出:array(3) { [0]=> string(4) "1010" [1]=> string(4) "1020" [2]=> string(4) "1030" }

方法2:服务端直接解析JSON字符串为数组

如果不想改动前端代码,PHP可以用json_decode()将获取到的JSON字符串直接转为数组:

$array = json_decode($_GET['array'], true);
var_dump($array);
// 输出:array(3) { [0]=> string(4) "1010" [1]=> string(4) "1020" [2]=> string(4) "1030" }

json_decode的第二个参数设为true,会将JSON结构转为PHP数组(JSON数组对应索引数组,JSON对象对应关联数组)。

内容的提问来源于stack exchange,提问作者toffler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:01:21