·在写程序过程中,有些时候需要拿到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
<?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了
以上就是所有内容了,关注走走不迷路哦