douwei1950
2019-03-22 13:07
浏览 25
已采纳

如何更改JSON字符串中的所有值php [duplicate]

This question already has an answer here:

I want to change the date value from "15/03/2019 07:18:57" to this: "1552634337".

Here is the code:

<?php 
$dtime = DateTime::createFromFormat("d/m/Y G:i:s", "15/03/2019 07:18:57");
echo $timestamp = $dtime->getTimestamp();
?>

but I want to do this to all the values ​​of "date".

json:

[{
  "id": "6326",
  "type": "0",
  "date": "15/03/2019 07:18:57",
  "message": "test",
  "count": 17
},
{
  "id": "6326",
  "type": "0",
  "date": "15/03/2019 07:18:57",
  "message": "test",
  "count": 17
}]

THANKS!

</div>
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dtvnnhh8992 2019-03-22 13:21
    已采纳

    try like this :

    $datas = json_decode("your_json_string", true);
    foreach($datas as $key => $value) {
        $dtime = DateTime::createFromFormat("d/m/Y G", $value['date']);
        $timestamp = $dtime->getTimestamp();
        $datas[$key]['date'] = $timestamp;
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • douyongdao4046 2019-03-22 13:14

    I think that the best way is to convert your JSON data to a PHP array using json_decode('YOUR_JSON', true).

    Suppose that you have the array data in a variable named $datas

    Then use foreach() to change the date like this:

    $dtime = DateTime::createFromFormat("d/m/Y G:i:s", "15/03/2019 07:18:57");
    $timestamp = $dtime->getTimestamp();
    
    foreach($datas as $data) {
        $data['date'] = $timestamp;
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题