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