如何在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"}}}
答案 0 :(得分:3)
您可以使用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;
}
OR
您可以使用删除整个索引
unset($four['Suppliers'][$id_supplier]);
答案 1 :(得分:2)
json_decode将JSON更改为PHP类型(数组或stdClass)。
json_encode将PHP类型(数组或stdClass)更改为JSON。
$four,您可以使用unset($ element)之类的方法删除元素。 示例:
unset($four['Suppliers'][1]);
它将删除ID = 1的元素。