繁体   English   中英

如何删除一个JSON元素?

[英]how to delete a json element?

如何在PHP中删除JSON元素? 我就是这样添加元素的,但是我不知道如何删除它

PHP Code

public function Savefavorite($supplier, $id_shop, $id_supplier, $favActive)
{
    $four = json_decode(Configuration::get('imp_favorite_'.$id_shop), true); // load
    if (!empty($favActive)) { // if 1 exist
        // ??????? DELETE element ???????
    }else { // if 0 no exist ok next
        $four['Suppliers'][$id_supplier]['supplier'] = $supplier;
    }
    Configuration::updateValue('imp_favorite_'.$id_shop, json_encode($four)); //save
}

Mysql code

{"Suppliers":{"1":{"supplier":"blablabliblou"},"2":{"supplier":"papapipipupi"}}}

您可以使用unset进行删除,如下更新您的IF..ELSE

if (!empty($favActive)) { // if 1 exist
    // ??????? DELETE element ???????
    unset($four['Suppliers'][$id_supplier]['supplier']);
}else { // if 0 no exist ok next
    $four['Suppliers'][$id_supplier]['supplier'] = $supplier;
}

要么

您可以使用删除整个索引

unset($four['Suppliers'][$id_supplier]);

json_decode
将JSON更改为PHP类型(数组或stdClass)。

  json_encode 
将PHP类型(数组或stdClass)更改为JSON。

在您的代码中,您具有变量:
  四块 
您可以使用unset($ element)之类的方法删除元素。 例:

 unset($four['Suppliers'][1]); 

它将删除ID = 1的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM