我认为这很简单但当然我遇到了障碍,我是处理JSON数据的新手,但这里是信息。
$new_item = '[2554560000, 18.26]';
$load = file_get_contents("json/graphlist.json");
$data = json_decode($load, true);
var_dump($data);
echo "<br /><br />";
echo ($data['product1']);
echo "<br /><br />";
echo json_encode($data);
$save = file_put_contents('json/graphlist.json', json_encode($data));
JSON数据:
{"product1":[[243500000,17.85],[245500000,14.65],[248500000,16.22]]}
当我var_dump解码数据时,它出现为:
array(1) { ["product1"]=> array(3) { [0]=> array(2) { [0]=> int(243500000) [1]=> float(17.85) } [1]=> array(2) { [0]=> int(245500000) [1]=> float(14.65) } [2]=> array(2) { [0]=> int(248500000) [1]=> float(16.22) } } }
然而,当我回显product1数组时,它只显示:
Array
所以我的问题是如何访问第二个数组中的数据。然后将$ new_item中的数据附加到要保存回JSON文件的现有字符串中。我到处寻找但我找不到任何有类似例子或错误的人。
答案 0 :(得分:2)
您可能想要
echo($data["product1"][0][0]);
相反,要获得第一个号码。
答案 1 :(得分:0)
您无法在数组上调用echo
,只会正确显示Array
。
如果要访问其中的数据,可以执行以下操作:
echo $data['product1'][0][0] // echoes '243500000'
答案 2 :(得分:0)
您需要使用print_r()
来显示整个数组。
print_r($data['product1']);