我想将{ "pname":"superman" , "pid":"4" }
追加到obdatabase.json。但我的下面的尝试完全覆盖了json文件。
我该如何修改?
obdatabase.json
{ "pobject":[{ "pname":"Pikachu" , "pid":"1" },
{ "pname":"squirtle" , "pid":"2" },
{ "pname":"Justinbieber" , "pid":"3" }]}
add.php
<?php
$file="obdatabase.json";
$json = json_decode(file_get_contents($file),TRUE);
$json['pobject'] = array('pname'=>'Superman', 'pid'=>4);
file_put_contents('obdatabase.json', json_encode($json));
?>
答案 0 :(得分:3)
在你的代码中,你写道:
$json['pobject'] = array('pname'=>'Superman', 'pid'=>4);
通过这种方式,您替换 $json['pobject']
数组而不是添加值。
您必须使用以下语法:
$json['pobject'][] = array('pname'=>'Superman', 'pid'=>4);
然后,您可以使用以下内容覆盖旧文本文件:
file_put_contents( 'obdatabase.json', json_encode( $json ) );
您已经已经问过这个问题here。对Stack Overflow采取行动的正确方法是:
这是出于对那些花时间寻找解决方案并且不尊重未来访问者的用户的尊重,这些用户可以轻松理解问题是否有效答案。
答案 1 :(得分:0)
这个想法是你从文件中获取gthe json然后将其解析为php json_encode()