当我使用$('#myForm').serialize()
发布表单的所有字段(它只包含许多单选按钮组)时,我得到一个这样的POST数据:
radio1=blue&radio2=red&radio3=white
但我不知道如何在PHP中解码(反序列化)它以获得这样的关联数组:
$myArray = array("radio1"=>"blue", "radio2"=>"red", "radio3"=>"white");
编辑:以下是html代码:
for( $i=1; $i<=$unknownNumber; $i++ ){
echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"blue\" checked>");
echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"red\">");
echo("<input type=\"radio\" name=\""."radio".$i."\" value=\"white\">");
}
以下是js代码:
$(document).ready(function() {
$('input[name^="radio"]').on('click', function() {
$.post( "process.php", $("#myForm").serialize(), function(data){
alert('Good');
});
});
});
答案 0 :(得分:1)
您可以在php中使用parse_str
函数:
$arr = array();
parse_str('radio1=blue&radio2=red&radio3=white',$arr);
var_dump($arr);
答案 1 :(得分:0)
你不需要(反序列化)在php中
使用$_POST['radio1'] (It contains the value 'blue')
$_POST type array()
包含Ajax或submit
答案 2 :(得分:0)
array(3) {
["radio1"]=>
string(4) "blue"
["radio2"]=>
string(3) "red"
["radio3"]=>
string(5) "white"
}
<强>输出:强>
{{1}}