【发布时间】:2019-01-26 21:17:27
【问题描述】:
我正在处理 php 中的序列化字符串,我想在它未序列化时添加额外的字母。
序列化字符串的sn-ps为:
a: 7: {
s: 3: "mon";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "tue";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "wed";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "thu";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "fri";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "sat";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
s: 3: "sun";a: 2: {
s: 5: "start";s: 5: "09:00";s: 3: "end";s: 5: "21:00";
}
}
为了使上述序列化字符串反序列化,我使用的 php 代码是:
<?php
$serialized = '';
for ($i = 0; $i < count($data['item']->logistic_out); $i++) {
if(strcmp($data['item']->logistic_out[$i]->logistics_type, "location_pickup") == 0)
{
$serialized .= strtolower($data['item']->logistic_out[$i]->logistics_times);
}
}
if($serialized != '')
{
/*
echo '<span class="font-weight-bold how-can-this-text">' . "how can this item be received" . '</span>';
echo "<br>";
echo "<br>";
echo '<span class="font-weight-bold mb-3 ml-3">' . "pickup from item's location <br/>" . '</span>';
echo "<br>";
echo "<br>"; */
$unserialized = unserialize( $serialized );
foreach($unserialized as $key=>$value)
{
echo $key.": ".$value['start']." ".$value['end']."<br/> <br/>";
}
}
else
{
echo "<p style=\"font-style: italic;\">No information available</p>";
}
?>
问题陈述:
上述代码中的echo语句正在生成以下o/p。我想知道我应该在上面的 echo 语句中进行哪些更改,以便 o/ps 具有星期一星期二星期三星期四星期五星期六星期日
【问题讨论】:
标签: php string serialization