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

时间:2019-03-22 13:07:18

标签: php json

我想将日期值从“ 15/03/2019 07:18:57 ”更改为:“ 1552634337 ”。

代码如下:

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

但是我想对“ 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
}]

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试这样:

$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;
}

答案 1 :(得分:-1)

我认为最好的方法是使用json_decode('YOUR_JSON', true)将JSON数据转换为PHP数组。

假设您将数组数据包含在名为 $ datas

的变量中

然后使用 foreach() 更改日期,如下所示:

$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;
}