用php只编辑json文件中的一行

iyfjxgzm  于 2023-01-18  发布在  PHP
关注(0)|答案(1)|浏览(154)

你好我有这个json文件叫做votes.json
我想使投票系统只使用php和json文件来存储数据
这是json文件

{
    "main": {
       
            "choice1": "0",
            "choice2": "0",
            "choice3": "0"
       
       
    },
    "alternative": {
       
            "choice1": "0",
            "choice2": "0",
            "choice3": "0"
   
   
}
}

我想要一个php函数所以例如我编辑choice1在这主要
我想增加计数器每次有人投票给这个
因此['main'][choice1] = 1,下次有人选择相同选项时,该选项变为['main'][choice1] = 2,其他选项保持不变
我试过这个代码,但没有工作,因为我需要

$data = file_get_contents('votes.json');

$json_arr = json_decode($data, true);

foreach ($json_arr as $key => $value) {
   
        
        $json_arr['main']['choice1'] = $value+1;

  
}
file_put_contents('results_new.json', json_encode($value));
n6lpvg4x

n6lpvg4x1#

正如注解中所述,你不需要循环来增加一个特定的值,而且你必须对整个数组进行编码。

$data = file_get_contents('votes.json');

$json_arr = json_decode($data, true);

// Just Increase Choice1 (no need a loop for this)
$json_arr['main']['choice1']++;

// Encode All JSon Array
file_put_contents('results_new.json', json_encode($json_arr));

相关问题