[
{
"id" : 1,
"name" : "levin",
"description" : "some desc",
"size" : "100KG",
"actions" : {
"walking" : true,
"eating" : true
}
},
{
"id" : 2,
"name" : "clara",
"description" : "some desc",
"size" : "2000KG",
"actions" : {
"walking" : false,
"eating" : true
}
}
]
これは私のperson.jsonファイルです。既存の値を更新(上書き)するのが好きです。これに関する有用な質問は見つかりませんでした。
私は「levin」という名前を持っています。それを空または「---」に上書きしたいと思います。しかし、それは「id」にのみ基づいている必要があります。以下は私のphpコードですが、機能していません:(
public function api_put()
{
//print($this->put('id')); am getting here 2 value from other page
//print($this->put('action'));.
if($this->put('action') == "remove"){
$file = json_decode(file_get_contents("assets/json/person.json"));
$new_val = array();
$i = 0 ;
foreach ($file as $key => $value) {
if((string)$value->id == $this->put('id')) {
$data[] = (string)$value->name="--";(string)$value->description="--";
$new_val[$i] = $data;
$i++;
}
}
file_put_contents('assets/json/person.json', json_encode($new_val));
$message = array('id' => $this->put('id'), 'message' => 'Successfully updated!!');
$this->response($message, 200);
}
}
特定のIDに依存し、他のすべてのIDデータを変更せずにjson値を上書きするにはどうすればよいですか?codeigniterRESTAPIを使用しています。前もって感謝します