我正在使用php将数据附加到Json文件中。它可以正常工作,但是将数据附加到底部。我想在顶部添加数据...以便用户可以首先看到新数据。< / p>
这是我的php文件
<?php
$myFile = "news.json";
$arr_data = []; // create empty array
try {
//Get form data
$formdata = [
'name' => $_POST['name'],
'price' => $_POST['price'],
];
//Get data from existing json file
$jsondata = file_get_contents($myFile);
// converts json data into array
$arr_data = json_decode($jsondata, true);
// Push user data to array
array_push($arr_data, $formdata);
//Convert updated array to JSON
$jsondata = json_encode($arr_data, JSON_PRETTY_PRINT);
//write json data into data.json file
if (file_put_contents($myFile, $jsondata)) {
header("Location: index.html");
} else {
echo "error";
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
并且输出json是
[
{
"name": "Iphone X",
"price": "$1500 "
},
{
"name": "Play Station Console",
"price": "$500 "
}
]
答案 0 :(得分:0)
您可以使用简单的“ +”
请参见以下示例:
$a = [
'1'=>2,
'2'=>3
];
$b=[
'3' => 4,
'5' => 6
];
$c = $b + $a;
echo "<pre>";
print_r($c);
结果:
Array
(
[3] => 4
[5] => 6
[1] => 2
[2] => 3
)
根据您的情况进行更改:
array_push($arr_data,$formdata);
到
$arr_data = $formdata + $arr_data
;
希望有帮助:)