·在写程序过程中,有些时候需要拿到json里面的数据,再进行修改,哪该怎么操作呢?跟着我以下的操作进行,就能更改json文件的内容了。
比如说我要修改年级的状态,修改为0
- 先创建一个json文件,数据格式如下图
[ { "id": 1, "name": "一年级", "state": 1 }, { "id": 2, "name": "二年级", "state": 1 }, { "id": 3, "name": "三年级", "state": 1 }, { "id": 4, "name": "四年级", "state": 0 }, { "id": 5, "name": "五年级", "state": 1 }, { "id": 6, "name": "六年级", "state": 1 }, { "id": 7, "name": "七年级", "state": 1 } ]
复制
二、代码如下:
<?php //学籍缴费状态修改 $_POST['grade'] = 4; $gradePath = "./grade.json"; $gradeData = json_decode(file_get_contents($gradePath) , 1);//1会返回关联数组,0会返回一个对象 print_r($gradeData); if($_POST['grade'] > 0 && is_numeric($_POST['grade'])){ foreach($gradeData as &$row){ if($row['id'] == $_POST['grade']){ $row['state'] = 0; break; } } unset($row); $jsonData = json_encode($gradeData ,JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); //将修改后的数据转回json格式 file_put_contents($gradePath,$jsonData); //将修改后的数据写入json echo "修改成功"; }else{ echo "传参失败"; }
复制
//上面服务器运行时权限不够,那就直接终端运行
//sudo php /www/wwwroot/default/grade.php
三、直接运行后就能修改成功了,4年级状态已经被修改为0了
以上就是所有内容了,关注走走不迷路哦