序列化表单的数据并将其反序列化为关联数组
serialize the data of a form and deserialize it into an associative array
当我使用 $('#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');
});
});
});
你可以在 php 中使用parse_str
函数:
$arr = array();
parse_str('radio1=blue&radio2=red&radio3=white',$arr);
var_dump($arr);
PHP parse_str函数
在 php 中不需要(反序列化)使用$_POST['radio1'] (It contains the value 'blue')
$_POST type array()
包含由 Ajax 发送或从提交发送的所有帖子数据
parse_str('radio1=blue&radio2=red&radio3=white',$postdata);
var_dump($postdata);
输出:
array(3) {
["radio1"]=>
string(4) "blue"
["radio2"]=>
string(3) "red"
["radio3"]=>
string(5) "white"
}
相关文章:
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 是否可以在javascript中反序列化java对象
- 如何在C#中反序列化json对象
- Nservicekit反序列化
- 无法反序列化 java.util.List 的实例VALUE_STRING
- 正在反序列化jQuery.Serialize的结果(到数组,而不是到窗体)
- 使用 JavaScript 进行反序列化
- Three.js-如何反序列化几何体.toJSON()?(几何体.fromJSON在哪里?)
- .NET服务中的JSON反序列化-can'不能解决这个问题
- 如何:从javascript反序列化C#对象
- 护照.js:如何避免序列化和反序列化用户
- 如何在 Express/Node.js 中反序列化 JSON 数据
- 在 javascript 中序列化和反序列化数组
- PHP 反序列化 JS 序列化的变量字符串
- Javascript:反序列化对象和混合方法
- 如何使用 Dojo.fromJson 反序列化包含控制字符的 Json 对象
- 当错误时清除cookie 使用护照反序列化用户.js
- 部分平展的 JSON 的反序列化
- 序列化表单的数据并将其反序列化为关联数组
- 在Node.js中反序列化后,将对象与其类重新关联