twa*_*wan 2 javascript php arrays
我有一个看起来像这样的字符串:
id_company=57&name=&address=&zip=&place=&phone=&mobile=&email=&birthdate=&birthplace=&bsn=&driver_expires=&role=&date_started=&contract=Tijdelijk&id_type=Paspoort&id_number=&id_expires=
Run Code Online (Sandbox Code Playgroud)
上面的示例大部分都是空的(除了id_company).
我在jquery中序列化我的表单,如下所示:
var $serialized = $form.serialize();
Run Code Online (Sandbox Code Playgroud)
在我的PHP中我这样做:
$jsonemployee = unserialize($_POST['serialized']);
Run Code Online (Sandbox Code Playgroud)
之后我尝试打印它因为我期待一个数组:
echo '<pre>';
print_r($jsonemployee);
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)
但这没有给我什么.
我100%确定所有数据都已通过,在我的网络选项卡中,我看到发布的字符串,如果我只是回显字符串,则显示字符串.
如何从该字符串创建PHP数组?
unserialize不是为了反序列化那种格式,而是它的对应物serialize,它会产生非常不同的结果.要在PHP中解析URL编码的字符串,请使用parse_str.
parse_str($_POST['serialized'], $result);
var_dump($result);
Run Code Online (Sandbox Code Playgroud)
当然,你发送一个URL编码的字符串有点奇怪$_POST['serialized']...你应该把它作为唯一的请求体发送,PHP会自动解析它$_POST,你不必做任何这个.