[英]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.