function deleteThing() {
if($_REQUEST ['entry'] == "") {
exit;
}
$entry = $_REQUEST ['entry'];
$file = 'entries.json';
$json = json_decode(file_get_contents($file));
unset($json[$entry]);
file_put_contents($file, json_encode($json));
}
此代码尝试删除索引$条目中的JSON子项,该子项以数字形式传递。我不确定我是否正确使用未设置
答案 0 :(得分:1)
$json = json_decode(file_get_contents($file),true);//assign as array
if(isset($json[$entry])) { //check if it is set
unset($json[$entry]);
}
如果您不愿意使用第二个参数为true,那么您将获得对象。在这种情况下,您需要像这样访问:
$json->{$entry}
答案 1 :(得分:0)
我认为你没有设置一个根本没有设置的变量。
可能$json
没有获得价值。
这样做:
$json = json_decode(file_get_contents($file));
if (! empty($json[$entry])) {
unset($json[$entry]);
}