php 超链接里的参数如何传递数组

例如:$names=array("11","22","33");$url="localhost/m/index.php?names=".$names这样不对呀!!!求正解... 例如:$names = array("11","22","33");
$url="localhost/m/index.php?names=".$names这样不对呀!!!求正解!!
展开
 我来答
幻翼高达Zero
2019-06-28 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.2万
展开全部

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:index.php。

2、在index.php中,输入代码:var_dump($_GET['name']);。

3、浏览器访问index.php?name[]=1&name[]=2,此时会打印出数组传递结果。

nhl2000
推荐于2017-11-25 · TA获得超过736个赞
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:227万
展开全部
答:url传参不支持数组.
方法1: 把数组遍历出来,组成键值对传过去在接收.
方法2:把数组序列化,接收后在反转.
示例:$arr = array('1','2','3');
$str = base64_encode(serialize($arr));//此时数组已经转换为字符串
$a = unserialize(base64_decode($str));
print_r($a);
更多追问追答
追问
方法一 肯定不行  因为我有几千个数据要穿   组装成超链接的话  会溢出的  因为GET有字符限制

方法2:我试过了 但是总是还原不过来! 怎么能还原出来呀!   传的数据是中文!
我想 你既然能说出方法2 肯定有办法还原中文的 请一定要教教我!
追答
老兄,你都知道了url传参有长度限制,那你几千个数据应该是溢出了吧
建议搞post提交吧.
因为 base64_encode()这个函数可以把汉字转化的 base64_decode() 这个函数在还原.

.思路是 数组->序列化->base64转化->base64反转->反序列化->数组

用URL传值的时候有限制 但是这个限制应该是URL本身的限制 是从"http://"开始到整个URL结束的长度不能超过2048 而超过1024的时候安全性就无法保证了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇爱主机网
2015-10-10 · 超过11用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:14.8万
展开全部
和普通的参数一样传递即可,获取后直接是传之前一样的数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式