0

簡単だと思っていましたが、もちろん障害があります.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

私の質問は、2 番目の配列内のデータにどのようにアクセスするかです。次に、$new_item からのデータを既存の文字列に追加して、JSON ファイルに保存し直します。どこでも見ましたが、同様の例やエラーがある人は見つかりません。

4

3 に答える 3

2

あなたはおそらくやりたい

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

代わりに、最初の番号を取得します。

于 2013-02-20T19:03:09.640 に答える
0

print_r()配列全体を表示するには、を使用する必要があります。

 print_r($data['product1']);
于 2013-02-20T19:02:38.683 に答える
0

配列を呼び出すことはできません。echo正しく表示されるだけArrayです。

その中のデータにアクセスしたい場合は、次のようにすることができます。

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

于 2013-02-20T19:01:47.180 に答える