如何在数组数据中处理JSON/PHP数组

如何在数组数据中处理JSON/PHP数组,php,json,Php,Json,我原以为这会很简单,但我当然遇到了障碍,我不熟悉处理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 /&

我原以为这会很简单,但我当然遇到了障碍,我不熟悉处理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));
当I var_转储解码数据时,结果如下所示:

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文件的现有字符串中。我到处都找过,但找不到有类似示例或错误的人。

你不能在数组上调用
echo
,它只能正确地显示
array

如果要访问其中的数据,可以执行以下操作:


echo$data['product1'][0][0]//echo'243500000'

您需要使用
print\r()
来显示整个阵列

 print_r($data['product1']);

你可能想这样做

echo($data["product1"][0][0]);

相反,要获取第一个数字。

您可以通过
echo$data['product1'][0][0]访问数组元素
或通过
打印$data['product1']查看整个数组还感谢您对打印代码的输入,这也很好地帮助我解决了编码问题。顺便说一句,我意识到print_r的代码必须用()填充,这肯定能解决我在查看数据时遇到的问题,希望这能帮助我找到如何将新数据附加到其中的方法。
echo($data["product1"][0][0]);