use*_*992 12 php post json file
我只使用1个数据插入我的json文件.
$data=$_POST['myusernamer'];
$inp = file_get_contents('7players.json');
$tempArray = json_decode($inp);
array_push($tempArray, $data);
$jsonData = json_encode($tempArray);
file_put_contents('7players.json', $jsonData);
Run Code Online (Sandbox Code Playgroud)
这就是我的json文件的样子.我只想在最后添加1个玩家.
{
"players":[
{
"name":"Moldova",
"image":"/Images/Moldova.jpg",
"roll_over_image":"tank.jpg"
},
{
"name":"Georgia",
"image":"/Images/georgia.gif",
"roll_over_image":"tank.jpg"
},
{
"name":"Belarus",
"image":"/Images/Belarus.gif",
"roll_over_image":"tank.jpg"
},
{
"name":"Armenia",
"image":"/Images/armenia.png",
"roll_over_image":"tank.jpg"
},
{
"name":"Kazahstan",
"image":"/Images/kazahstan.gif",
"roll_over_image":"tank.jpg"
},
{
"name":"Russia",
"image":"/Images/russia.gif",
"roll_over_image":"tank.jpg"
},
],
"games" : [
{
"matches" : [
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":7,
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
}
]
},
{
"matches" : [
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":7,
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
{
"player1id":"*",
"player2id":"*",
"winner":"*"
},
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在最后添加播放器?我也想知道如何更新
player1id":"*",
"player2id":"*",
"winner":"
Run Code Online (Sandbox Code Playgroud)
在匹配数组中.
cha*_*ool 14
只需解码你的json字符串,然后使用数组推送
$tempArray = json_decode($jsonstring, true);
array_push($tempArray, $your_data);
Run Code Online (Sandbox Code Playgroud)
对于你的情况
$str = '{
"players":[
{
"name":"Moldova",
"image":"/Images/Moldova.jpg",
"roll_over_image":"tank.jpg"
},
{
"name":"Georgia",
"image":"/Images/georgia.gif",
"roll_over_image":"tank.jpg"
} ]}';
$arr = json_decode($str, true);
$arrne['name'] = "dsds";
array_push( $arr['players'], $arrne );
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
只需检查print_r($ arr)的值; 我希望这就是你想要的.:)
添加其他玩家
$tempArray = json_decode($inp, true);
array_push($tempArray['players'], array('name' => $data['username'], 'image' => $data['userimage'], 'roll_over_image' => 'tank.jpg'));
Run Code Online (Sandbox Code Playgroud)
更新匹配
第一个匹配数组
$tempArray['games'][0]['matches'];
Run Code Online (Sandbox Code Playgroud)
第二个匹配数组
$tempArray['games'][1]['matches'];
Run Code Online (Sandbox Code Playgroud)
现在是带键的简单二维数组player1id,player2id并且winner- 应该很容易更新这些数组.之后,您可以将$tempArray背面编码为json.
| 归档时间: |
|
| 查看次数: |
61668 次 |
| 最近记录: |