我正在尝试使用 id 属性匹配从 json 文件中删除项目。我真正需要的未设置是什么?Json data:{"memory":[{"id":1,"pinned":false,"title":"my title","author":"me"}, {"id":2,"pinned":false,"title":"my title","author":"me"}]}$projectsArr = json_decode(file_get_contents("../db/memory.json"), true);if(isset($_POST['subDelete'])) { $selectedIitemId = $_POST["subDelete"]; foreach($projectsArr['memory'] as &$mydata) { if($mydata['id'] == $selectedIitemId) { // unset ? $save = json_encode($projectsArr,JSON_UNESCAPED_UNICODE); file_put_contents('../db/memory.json', $save); header('LOCATION:approve.php'); } }}
1 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
unset()此代码使用与数组本身 ( )匹配和使用的条目的索引$projectsArr['memory']。此外,由于这会留下一个缺少条目的数组(这将导致其保存为对象),因此它会array_values()在保存数据之前重置键。
foreach($projectsArr['memory'] as $key => $mydata) {
if($mydata['id'] == $selectedIitemId) {
unset($projectsArr['memory'][$key]);
$projectsArr['memory'] = array_values($projectsArr['memory']);
$save = json_encode($projectsArr,JSON_UNESCAPED_UNICODE);
file_put_contents('../db/memory.json', $save);
header('LOCATION:approve.php');
exit;
}
}
- 1 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消