我从数据库表中提取了序列化数据,我想在数组中显示它。 a:7:{i:0;a:2:{s:8: »field_id »;i:6;s:10: »user_value »;s:4: »jack »;}i:1;a:2:{s:8: »field_id »;i:7;s:10: »user_value »;s:5: »david »;}i:2;a:2:{s:8: »field_id »;i:8;s:10: »user_value »;s:5: »45587″;}i:3;a:2:{s:8: »field_id »;i:9;s:10: »user_value »;s:3: »447″;}i:4;a:2:{s:8: »field_id »;i:10;s:10: »user_value »;s:3: »115″;}i:5;a:2:{s:8: »field_id »;i:11;s:10: »user_value »;s:6: »Agadir »;}i:6;a:2:{s:8: »field_id »;i:13;s:10: »user_value »;s:0: » »;}}
更新:谢谢大家,我尝试反序列化但它不起作用。我喜欢某个地方,反序列化不适用于':;,“而且我应该使用uncode函数。我的问题是如何在同一时间完成所有这些:uncode&gt;&gt; unserialize&gt;&gt;存储在表或数组中< / p>
答案 0 :(得分:2)
$x=unserialize($serialized_data)
答案 1 :(得分:0)
Wordpress系统非常整洁function用于处理序列化数据,它被称为
maybe_unserialize()
。
该功能只有在序列化时才会反序列化值,对序列化数据的检查会自动完成,这样就可以节省一些时间。
<?php maybe_unserialize( $original ) ?>
参数
$original
- 字符串,如果需要,可能是必需的,也可能是非序列化的原始字符串。
返回值
非序列化数据可以是任何类型。
答案 2 :(得分:0)
我找到了我需要的东西
$json_data = [];
foreach ($subs as $sub_id => $sub) {
$submission_data = array();
$data = unserialize($sub['data']);
$user_values = array();
foreach ($data as $key => $value) {
$user_values[$value['field_id']] = $value['user_value'];
}
foreach ( $fields as $field_id => $field ) {
$user_value = $user_values[$field['id']];
if ($user_value == '') {
continue;
}
$submission_data[] = array(
"label" => $field['data']['label'],
"value" => $user_value,
"type" => $field['type']
);
}
$json_data[] = array(
"id" => $sub['id'],
"items" => array_values($submission_data)
);
echo json_encode(array_values($json_data), JSON_PRETTY_PRINT);
}`
来自link
答案 3 :(得分:0)
以下代码在我的情况下起作用,我已经通过jquery序列化,然后将其作为字符串分配给输入并提交表单。然后在PHP上获取数据。
yourdomain:yourport/secure