jsonファイルでIDを検索し、phpでそのオブジェクトを削除しようとしています。
詳細:jQuery postを使用してIDをdelete.phpに投稿し、delete.phpファイルでIDを検索して設定を解除します。しかし、何らかの理由で最初のオブジェクトの設定を解除すると、jsonに番号が追加されて壊れます(さらにオブジェクトを追加することはできますが、最初のオブジェクトは壊れます)。
// delete.phpファイルは次のようになります:
if(isset($_POST['deleteData'])){
$data = $_POST['deleteData'];
$dataJSON = json_decode(file_get_contents('datas.json'), true);
for($i = 0, $dataJSONLength = count($dataJSON); $i < $dataJSONLength; $i++){
if($dataJSON[$i][data][0][id] == $data){
unset($dataJSON[$i]);
echo 'deleted';// needed for callback for feedback
}
}
file_put_contents('datas.json', json_encode($dataJSON));
}
//add.phpは次のとおりです。
if(isset($_POST['addData'])){
$dataJSON = json_decode(file_get_contents('datas.json'), true);
$dataJSON[] = $_POST['addData'];
file_put_contents('datas.json', json_encode($dataJSON));
}
私のdatas.jsonファイルはかなりネストされているので、問題がどこにあるかを投稿します。
[{"user":[{"browser":[{" // this is what it looks like when I add
{"1":{"user":[{"browser":[{" // this is what happens when I delete the first object. Notice "1"
最初のオブジェクトを削除しないと、最初のオブジェクトが削除されるまですべてが正常に機能します。助言がありますか?ありがとう。(必要に応じて、jsonファイル全体を投稿できます)