簡體   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