我正在尝试反序列化存储在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)))); ?>
有人可以解释一下发生了什么吗?我在这里看不到任何逻辑。
非常感谢!