閲覧ありがとうございます。
JSONファイルを読み取り、多次元配列から
以下の型式で県名と市町村名を表示させたいのですが
市町村名の値を取得する際に
エラー Notice: Array to string conversion in /work/index.php on line 28と表示されてしまいます。
ご理解ある方いらっしゃいましたらアドバイス頂けませんでしょうか。
※なぜかforeachを使って値を$valに入れているのに県名を表示できなかったので
下記コードでは $arrから県名を取得しています。
↓出したい型式
_____________________________
[
"都道府県名A" => [市町村名1, 市町村名2...],
"都道府県名B" => [市町村名3, 市町村名4...],
]
_____________________________
php
1<?php 2 3$file = "./sample.json"; //jsonファイルへのパス 4 $json = file_get_contents($file); //ile_get_contents関数を用いて、$fileの内容を文字列として読み込む 5 $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 6 $arr = json_decode($json,true);//$jsonの内容を連想配列とし$arrに格納する 7 8foreach ($arr as $key => $val) { 9 echo $arr["0"]["01"]["name"] . '=>' . $arr["0"]["01"]["city"]; 10}; 11 12 13?> 14</body> 15</html>
↓JSONファイル
[{ "01": { "id": "01", "name": "北海道", "short": "北海道", "kana": "ホッカイドウ", "en": "hokkaido", "city":[ {"citycode":"0010001","city":"札幌市中央区"}, {"citycode":"0010002","city":"札幌市北区"}, {"citycode":"0010003","city":"札幌市東区"}, {"citycode":"0010004","city":"札幌市白石区"}, {"citycode":"0010005","city":"札幌市豊平区"}, {"citycode":"0010006","city":"札幌市南区"}, {"citycode":"0010007","city":"札幌市西区"}, {"citycode":"0010008","city":"札幌市厚別区"}, {"citycode":"0010009","city":"札幌市手稲区"}, {"citycode":"0010010","city":"札幌市清田区"}, ~~~~以下長すぎるので略させて頂きます。 ] } }]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。