php删除json数据中的文件,使用PHP从.json文件中删除JSON记录

我有一个看起来像这样的json文件:

[["{\"id\":1474721566304,\"name\":\"GGG\",\"brand\":\"GG\",\"price\":\"3\"}"],["{\"id\":1474721570904,\"name\":\"GGGH\",\"brand\":\"GGH\",\"price\":\"4\"}"],["{\"id\":1474721574188,\"name\":\"GGGH\",\"brand\":\"GGHH\",\"price\":\"5\"}"]]

我想要做的是从它的id中删除它的记录.为此,我有以下PHP代码:

$string = file_get_contents("products.json");

$json_a = json_decode($string, true); //turning JSON-string into an array containing JSON-strings

$arr = array();

foreach ($json_a as $key) {

array_push($arr,json_decode($key[0],true)); //and here you turning each of the JSON-strings into objects themselves

}

$data= $_GET['data'];

$i=0;

foreach($arr as $element) {

if($data == $element["id"]){

unset($arr[$i]);//removing the product by ID

}

$i++;

}

var_dump($arr);

$arr2 = array();

foreach ($arr as $key) {//trying to make it look like the original json.

array_push($arr2,json_decode($key[0],true));

}

//var_dump($arr2);

echo json_encode($arr2);

?>

我从这段代码得到的是:

array(2) { [0]=> array(4) { ["id"]=> float(1474721566304) ["name"]=> string(3) "GGG" ["brand"]=> string(2) "GG" ["price"]=> string(1) "3" } [1]=> array(4) { ["id"]=> float(1474721570904) ["name"]=> string(4) "GGGH" ["brand"]=> string(3) "GGH" ["price"]=> string(1) "4" } }

我真的没有想法如何使这个数组看起来像我在这篇文章中首先显示的原始JSON.我尝试了很多不同的东西,但我无法让它发挥作用.我的想法是在用它的ID删除记录之后用我想在这里构建的新JSON替换旧的JSON.

我是php新手,我很感激我的问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值