簡體   English   中英

如何添加多余的字母來自php中的序列化字符串?

[英]How to add extra letters coming out from serialized string in php?

我正在處理php中的序列化字符串,在該字符串中要反序列化時要添加其他字母。

序列化字符串的片段為:

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.":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;".$value['start']."&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;".$value['end']."<br/> <br/>";
   }
   }
   else
   {
       echo "<p style=\"font-style: italic;\">No information available</p>";
   }
   ?>


問題陳述:

上面的代碼中的echo語句正在生成以下o / p。 我想知道我應該在上面echo語句中進行哪些更改,以便o / ps具有星期一星期二星期三星期三星期五星期六星期日

在此處輸入圖片說明

您可以轉換為時間戳記,然后提取一周中某天的完整文本表示形式:

echo date('l', strtotime($key));

要將時間從24小時更改為12小時,請執行以下操作:

echo date('g', strtotime($value['end']));

有關所有格式,請參見PHP-日期

更新了我的答案。 請檢查

echo date('l', strtotime($key)).":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;".$value['start']."&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;".$value['end']."<br/> <br/>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM