php unset导致内部服务器错误

时间:2014-03-20 12:55:57

标签: php unset

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子项,该子项以数字形式传递。我不确定我是否正确使用未设置

2 个答案:

答案 0 :(得分:1)

似乎你需要尝试这样:
将第二个参数传递为true将返回您使用过的数组。

$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]);
}