PHP反序列化:一切正常,除了一个条目

时间:2012-09-24 19:38:46

标签: php deserialization

我正在尝试反序列化存储在mysql中的一些数据。

一切都没问题,除了一个无法显示的字段。

数据:

a:4:{
s:7:"prénom";s:6:"Johnny";
s:3:"nom";s:5:"Rocky";
s:12:"NOT WORKING";s:2:"on";
s:7:"opt in2";s:2:"on";
}
我打电话给

<?php $mydata = $result['data']; 
$mydata = unserialize($mydata);
echo $mydata['prénom']; 
echo $mydata['nom']; 
echo $mydata['NOT WORKING']; 
echo $mydata['opt in2']; 
?>

“prénom”,“nom”和“opt in2”正确显示,但“NOT WORKING”不显示(不显示任何内容)。 后者的有趣之处在于字符串前面的数字与字母数不匹配,你可以看到它写成12而字符串有11个字母(包括空格)。我试图把它改成11但它会搞砸一切。

更有趣的是,所有值(包括“NOT WORKING”仍然可以正确显示,如:

<?php foreach($result['data'] as $fieldName => $fieldValue){?>
<?php echo esc_html(strip_tags(wp_kses_stripslashes(ucwords($fieldName)))); ?>
<?php echo esc_html(strip_tags(wp_kses_stripslashes(ucwords($fieldValue)))); ?>

有人可以解释一下发生了什么吗?我在这里看不到任何逻辑。

非常感谢!

0 个答案:

没有答案