我看到许多关于在PHP中将数组作为查询字符串传递的问题,似乎流行的方法是在key[]=foo&key[]=bar
中使用括号。
但是我无法找到关于如何发送对象(或key=>value
关联数组 - 与查询字符串相同)的直接答案。
目前,我这样做是:
STRING
?foo=bar&hello=world
然后在服务器端,我会这样做:
<?php
$array = array();
$array['foo']=$_GET['foo'];
$array['hello']=$_GET['hello'];
?>
当然使用$_POST
时,ajax
请求非常简单。您发送的任何对象都会自动序列化并且不是问题。
这是处理它的最佳方法,还是使用PHP在查询字符串中发送对象的其他标准?
答案 0 :(得分:1)
您可以在表单和查询字符串中使用关联数组:
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][][more][even more]