URL来POST数组问题
在php中如果要通过URL来POST数组数据的话!需要
<form action=insert.php?sName[]=thq&sAge[]=18&sName[]=zgo&sAge[]=20&>
有什么方法能够
<form action=insert.php?sName=thq&sAge=18&sName=zgo&sAge=20&>
也就是说把"sName[]"名字换成"sName"来传数组数据!
然后在insert中如何得到关于SName和sAge的数组值?
问题点数:20、回复次数:6Top
1 楼turtlevan(你是猪啊,亲我还愣着干嘛)回复于 2004-11-03 21:15:07 得分 0
我不知道为什么要这么做
但是有一个方法是可以的
就是自己来解析URL里的query字串
Top
2 楼surfchen(冲浪)回复于 2004-11-03 21:27:02 得分 0
??
你这样 <form action=insert.php?sName=thq&sAge=18&sName=zgo&sAge=20&>
的话,他们就不是数组了~~
如果想直接传数组~~你可以考虑serialize~~ 这个可能可以满足你的要求~~具体看手册Top
3 楼hazen(清幽)回复于 2004-11-03 21:43:24 得分 0
可以考虑在传变量前将这个三个数组变量
转换成按规律分部的字符串
这样就可以直接用<form action=insert.php?sName=thq&sName=zgo>
等到处理页时再拆开就行了!
Top
4 楼jakey9826(无眠)回复于 2004-11-04 10:36:31 得分 0
通常的做法,都是数组转换为字符串,接收后然后再转换成数组!
Top
5 楼zunyir(网上邻居)回复于 2004-11-04 11:19:23 得分 0
同意上面的说法,也可以在网页跳转的时候直接得到变量。Top
6 楼xuzuning(唠叨)回复于 2004-11-04 11:38:49 得分 20
url参数在$_SERVER['QUERY_STRING']中
若$_SERVER['QUERY_STRING'] = "sName=thq&sAge=18&sName=zgo&sAge=20"
你可这样
$s = $_SERVER['QUERY_STRING'];
$s = str_replace("=","[]=",$s);
parse_str($s);
这样就得到了$sName、$sAge数组
你也可以将他们写到$_GET数组中去
function test($_s) {
$_s = str_replace("=","[]=",$_s);
parse_str($_s);
foreach(get_defined_vars() as $k=>$v)
if($k != '_s')
$_GET[$k] = $v;
}
test("sName=thq&sAge=18&sName=zgo&sAge=20");
print_r($_GET);
Top




