在PHP中从Json删除数组

时间:2019-03-18 12:45:07

标签: php json phpmyadmin

嗨,我在cpanel中有一个php后端,并且我对jsons之一有疑问。这是我的php代码的一部分:

    ...

    }elseif ($work == "dollardate") {

    $query3 = "SELECT * FROM tabl_dollar_date";

    $result3 = $connect->prepare($query3);

    $result3->execute();

    $out3 = array();

    while ($row3 = $result3->fetch(PDO::FETCH_ASSOC)) {

        $record3 = array();

        $record3["dollar"] = $row3["dollar"];

        $record3["date"] = $row3["date"];



        array_push($out3, $record3);

    }
    echo json_encode($out3);
}

?>

此代码在json中显示此内容:

[  
   {  
      "dollar":"15000",
      "date":"1397-12-12"
   }
]

如何从json中删除数组并像这样显示json:

  {  
      "dollar":"15000",
      "date":"1397-12-12"
   }

2 个答案:

答案 0 :(得分:2)

最简单的方法(根据他的代码):

换行

echo json_encode($out3);

echo json_encode($out3[0]);

答案 1 :(得分:0)

一种解决方案是,如果您只想获取最新值(如果表中有多个记录),则将SELECT更改为按日期降序排列,并将LIMIT设置为1,无论如何只能获取1条记录,然后删除循环以获取数据并仅获取1条记录...

$query3 = "SELECT `date`, `dollar`
    FROM `tabl_dollar_date`
    ORDER BY `date` desc
    LIMIT 1";
$result3 = $connect->prepare($query3);
$result3->execute();
$row3 = $result3->fetch(PDO::FETCH_ASSOC);
echo json_encode($row3);

您知道要从SELECT中选择哪些字段时,最好仅获取这些字段,而不要始终使用*。这也意味着,由于结果集仅包含后面的字段,因此您可以直接json_encode()将结果集{而不是将字段从一个数组提取到另一个数组中。