首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中如何在GET中传递数组?

在PHP中如何在GET中传递数组?
EN

Stack Overflow用户
提问于 2011-02-24 07:02:01
回答 9查看 104.8K关注 0票数 24
代码语言:javascript
复制
$idArray = array(1,2,3,4);

我能用HTML写这一行吗?

代码语言:javascript
复制
<form method='POST' action='{$_SERVER['PHP_SELF']}?arr={$idArray}'>

或者我应该这样写:

代码语言:javascript
复制
<form method='POST' action='{$_SERVER['PHP_SELF']}?arr[]={$idArray}'>

它将如何通过?

在被调用页面中该如何处理?

谢谢!!

EN

回答 9

Stack Overflow用户

发布于 2011-02-24 07:03:09

使用serializeunserialize PHP函数。此函数提供数组类型的可存储(字符串)版本。有关用法的更多信息,请阅读http://php.net/manual/en/function.serialize.phphttp://www.php.net/manual/en/function.unserialize.php

票数 10
EN

Stack Overflow用户

发布于 2011-02-24 07:14:31

另一种选择(我想说的是,即使看起来很漂亮):

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<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>
票数 4
EN

Stack Overflow用户

发布于 2012-06-06 02:17:45

您可以将serialize和& serialize与urlencode一起使用,例如

发送时,您可以像这样发送它们:

代码语言:javascript
复制
<?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
?>

收到后,您可以通过以下方式访问它们:

代码语言:javascript
复制
<?php
$destArray1=unserialize($_GET['array1']);
$destArray2=unserialize($_GET['array2']);
$destData1=unserialize($_GET['data1']);
?>

瞧,你可以把这个url附加到ajax请求或普通浏览器页面上。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5098397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档