繁体   English   中英

PHP未设置导致内部服务器错误

[英]php unset causing internal server error

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));


}

这段代码试图删除索引$ entry的JSON子项,该子项以数字形式传递。 我不确定即时通讯使用的设置是否正确

看来您需要这样尝试:
将第二个参数传递为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}

我认为您正在取消一个根本没有设置的变量。

可能是$json没有得到价值。

做这个:

$json = json_decode(file_get_contents($file));
if (! empty($json[$entry])) {
  unset($json[$entry]);
}

暂无
暂无

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

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