php无法在php中获取序列化数据

php无法在php中获取序列化数据,php,jquery,serialization,Php,Jquery,Serialization,我使用jQuery将表单数据转换为序列化表单,使用: var data = $('#frm').serialize(); 在php中,我得到以下信息: fiscalyear\u id=4&category=category+A&isgraph=on&Title=A&Title=b&Value=b&category=category+b&Title=c&Value=c&Title=d&Value=d&category=category+c&Title=e&Value=e&Title=f&Valu

我使用jQuery将表单数据转换为序列化表单,使用:

var data = $('#frm').serialize();
在php中,我得到以下信息:

fiscalyear\u id=4&category=category+A&isgraph=on&Title=A&Title=b&Value=b&category=category+b&Title=c&Value=c&Title=d&Value=d&category=category+c&Title=e&Value=e&Title=f&Value=f&data=&csrf_check=9c288285b379701b27c3836091c00b04

当我这样做的时候:

parse_str($_POST['data'], $data);
pretty_print($data);
我得到:

Array
(
    [fiscalyear_id] => 4
    [category] => Category C
    [isgraph] => on
    [Title] => f
    [Value] => f
    [data;] => 
    [csrf_check] => 9c288285b379701b27c3836091c00b04
)

可以看出,并非所有参数都在上面的数组中出现。有人知道我做错了什么吗?感谢您的帮助

parse\u str解析变量中的字符串,然后将其放入数组中。 但不可能有重复的数组键


因此,您无法获得所有值,因为它们具有相同的键

您的值正在重新签名,因此您只看到最后一个值-Title=a…Title=b。请出示您的表格HTMLY您有重复的钥匙。为什么不在客户端使用Value[?
&Title=c&Value=c&Title=d
这不是发送数据的正确方式,应该是
&Title[]=c&Value[]=c&Title[]=d
等等。。因为它应该是数组格式,否则POST或GET将只获取最后一个值。由于重复的键,数组中的值将被覆盖。