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