PHP(和其他服務器端語言)支持在查詢字符串中傳遞數組。
www.mydomain.com?param1=example¶m2[key1]=value1¶m2[key2]=value2
PHP將解析GET字符串,例如:
array(2) {
["param1"]=>
string(7) "example"
["param2"]=>
array(2) {
["key1"]=>
string(6) "value1"
["key2"]=>
string(6) "value2"
}
}
如果不通過鍵,它會成爲一個數字數組:
www.mydomain.com?param1=example¶m2[]=value1¶m2[]=value2
會被解析爲:
array(2) {
["param1"]=>
string(7) "example"
["param2"]=>
array(2) {
[0]=>
string(6) "value1"
[1]=>
string(6) "value2"
}
}
UPDATE:您也可以在JavaScript中解析查詢字符串。
下面是一個簡單的jQuery插件我做:
$.parseQuery = function(str) {
var ret = {};
$.each(str.split("&"), function() {
var data = this.split('='),
name = decodeURIComponent(data.shift()),
val = decodeURIComponent(data.join("=")).replace('+', ' '),
nameVal = name.match(/(.*)\[(.*)\]/);
if (nameVal === null) {
ret[name] = val;
}
else {
name = nameVal[1];
nameVal = nameVal[2];
if (!ret[name]) {
ret[name] = nameVal ? {} : [];
}
if ($.isPlainObject(ret[name])) {
ret[name][nameVal] = val;
}
else if($.isArray(ret[name])){
ret[name].push(val);
}
}
});
return ret;
};
然後,你可以這樣做:$.parseQuery('param1=example¶m2[]=value1¶m2[]=value2');
。
你知道,你可以使用數組作爲GET參數:http://www.webmasterworld.com/forum88/5808.htm –