【发布时间】:2014-07-30 01:37:37
【问题描述】:
$citation = new Citation();
$citation->user_id = $result['pmid'];
$citation->pmid = $result['volume'];
$citation->volume = $result['volume'];
$citation->issue = $result['issue'];
$citation->year = $result['year'];
$citation->month = $result['month'];
$citation->pages = $result['pages'];
$citation->issn = $result['issn'];
$citation->journal = $result['journal'];
$citation->journalabbrev = $result['journalabbrev'];
$citation->title = $result['title'];
$string_data = serialize($citation);
HTML
<input type="checkbox" name="citation" value="<?php echo $string_data; ?>">
POST 前 $string_data 的输出 =
O:8:"Citation":16:{s:7:"user_id";s:7:"8046837";s:4:"pmid";s:2:"52";s:6: "卷";s:2:"52";s:5:"期";s:1:"6";s:4:"年";s:4:"1994";s:5:"月";s:3:"Jun";s:5:"pages";s:6:"1535-8";s:4:"issn";s:9:"0047-1852";s:7: "journal";s:51:"Nihon rinsho. 日本临床医学杂志";s:13:"journalabbrev";s:13:"Nippon Rinsho";s:5:"title";s:46:"[结节病的支气管镜分类]。";s:8:"摘要";N;s:11:"隶属关系";N;s:7:"作者";N;s:9:"articleid";N;s: 8:"关键词";N;}
and in 可以反序列化....
$new = unserialize($string_data);
print_r($new);
给....
引用对象([user_id] => 8046837 [pmid] => 52 [volume] => 52 [issue] => 6 [year] => 1994 [month] => Jun [pages] => 1535-8 [issn] => 0047-1852 [journal] => Nihon rinsho. 日本临床医学杂志 [journalabbrev] => Nippon Rinsho [title] => [Bronchoscope classification in sarcoidosis]. [abstract] => [affiliation] => [作者] => [articleid] => [关键字] => )
但是当我使用复选框发布到另一个页面时,然后
echo $_POST['citation'];
我明白了
数组 ( [0] => O:8: )
我在 Stack 中搜索了解决方案以及 PHP 文档,但均未成功。 POST 操作是否会以某种方式改变序列化数据?
【问题讨论】:
标签: php object post serialization