如何在PHP中传递查询字符串中的对象

如何在PHP中传递查询字符串中的对象,php,arrays,get,associative-array,Php,Arrays,Get,Associative Array,在PHP中,我看到了许多关于将数组作为查询字符串传递的问题,似乎最流行的方法是使用括号,如key[]=foo&key[]=bar 但是,关于如何将对象(或key=>valueassociative array-相同的东西)作为查询字符串发送,我找不到一个直接的答案 目前,我所做的是: 串 ?foo=bar&hello=world 然后在服务器端,我将执行以下操作: <?php $array = array(); $array['foo']=$_GET['foo']; $array['hel

在PHP中,我看到了许多关于将数组作为查询字符串传递的问题,似乎最流行的方法是使用括号,如
key[]=foo&key[]=bar

但是,关于如何将对象(或
key=>value
associative array-相同的东西)作为查询字符串发送,我找不到一个直接的答案

目前,我所做的是:

?foo=bar&hello=world

然后在服务器端,我将执行以下操作:

<?php
$array = array();
$array['foo']=$_GET['foo'];
$array['hello']=$_GET['hello'];
?>

当然,在使用
$\u POST
时,使用
ajax
请求非常简单。您发送的任何对象都会自动序列化,这不是问题


这是处理它的最佳方法,还是使用PHP在查询字符串中发送对象有其他标准?

您可以在表单和查询字符串中使用关联数组:

object[foo]=bar&object[hello]=world
要构建它,请执行URL编码:

$data['object']['foo'] = 'bar';
$data['object']['hello'] = 'world';
echo http_build_query($data);
收益率:

object%5Bfoo%5D=bar&object%5Bhello%5D=world
您可以进入多个级别和/或使用动态添加的元素。通常,在文本形式中,它看起来就像一个PHP数组

object[foo][more][even more][]
或:


?object[foo]=bar&object[hello]=world
@abracadver谢谢,这似乎确实有效。将数组作为
中的
值之一发送怎么样?object[foo]=1&object[foo]=2
。这将是所需的最后澄清。谢谢大家!<代码>对象[foo][]=1和对象[foo][]=2
object[foo][][more][even more]