1
我試圖從test_bots.json中取消設置值並將其保存回來,但不知何故數據格式正在被更改。爲什麼我的JSON數組變成了一個對象?
test_bots.json包含此JSON數組:
["John","Vladimir","Toni","Joshua","Jessica"]
我的代碼如下所示:
$good = 'Toni';
$good_arr = file_get_contents('test_bots.json');
$good_arr = json_decode($good_arr);
if(in_array($good, $good_arr)){
$key = array_search($good, $good_arr);
unset($good_arr[$key]);
$good_arr2 = json_encode($good_arr);
file_put_contents('test_bots.json',$good_arr2);
}
中保存的輸出是:
{"0":"John","1":"Vladimir","3":"Joshua","4":"Jessica"}
,但我想要的輸出看起來像:
["John","Vladimir","Joshua","Jessica"]
我試圖在保存數組之前反序列化數組,但它不起作用。
這是怎麼發生的?
將'file_put_contents'中的'$ good_arr'更改爲'$ good_arr2'。 – jardis
看起來只是一個錯字。正如@jardis指出的那樣,你並沒有將剛剛用'json_encode'創建的變量保存到文件中,而是保存了非編碼數組。 –
對不起,這是錯字。我編輯了我的問題。 @不要恐慌 – MHH