$idArray = array(1,2,3,4);
我能用HTML写这一行吗?
<form method='POST' action='{$_SERVER['PHP_SELF']}?arr={$idArray}'>
或者我应该这样写:
<form method='POST' action='{$_SERVER['PHP_SELF']}?arr[]={$idArray}'>
它将如何通过?
在被调用页面中该如何处理?
谢谢!!
发布于 2011-02-24 07:03:09
使用serialize
和unserialize
PHP函数。此函数提供数组类型的可存储(字符串)版本。有关用法的更多信息,请阅读http://php.net/manual/en/function.serialize.php和http://www.php.net/manual/en/function.unserialize.php
发布于 2011-02-24 07:14:31
另一种选择(我想说的是,即使看起来很漂亮):
<form method='POST'>
<input type="hidden" name="idArray[]" value="1" />
<input type="hidden" name="idArray[]" value="2" />
<input type="hidden" name="idArray[]" value="3" />
<input type="hidden" name="idArray[]" value="4" />
</form>
但它当然会以邮件的形式发送。我不建议使用serialize发送它,因为该函数的输出可能会非常大,并且长度或URL是有限的。
使用GET:
<form method='GET'>
<input type="hidden" name="idArray[]" value="1" />
<input type="hidden" name="idArray[]" value="2" />
<input type="hidden" name="idArray[]" value="3" />
<input type="hidden" name="idArray[]" value="4" />
</form>
发布于 2012-06-06 02:17:45
您可以将serialize和& serialize与urlencode一起使用,例如
发送时,您可以像这样发送它们:
<?php
$array1 = Array(["key1"]=>"value1",["key2"]=>"value2");
$array2 = Array(["key1"]=>"value1",["key2"]=>"value2");
$data1="textdata";
$urlPortion= '&array1='.urlencode(serialize($array1)).
'&array2='.urlencode(serialize($array2)).
'&data1='.urlencode(serialize($data1));
//Full URL:
$fullUrl='http://localhost/?somevariable=somevalue'.$urlPortion
?>
收到后,您可以通过以下方式访问它们:
<?php
$destArray1=unserialize($_GET['array1']);
$destArray2=unserialize($_GET['array2']);
$destData1=unserialize($_GET['data1']);
?>
瞧,你可以把这个url附加到ajax请求或普通浏览器页面上。
https://stackoverflow.com/questions/5098397
复制相似问题