[PHP]市町村コード一覧をjsonで吐き出すPHPを作ってみた


市町村から市町村コードへの変換をしたいと思って、市町村コード(正式には全国地方公共団体コード – Wikipedia)の一覧を探してみたのですが上手く見つけられず、でも国土交通省 土地総合情報システムに都道府県内市区町村一覧取得APIを見つけたので、それを使って市町村コードをjsonファイルに吐き出すプログラムをPHPで書いてみた。

[php]
<?php
$pref_ids= array(
"01" => "北海道",
"02" => "青森県",
"03" => "岩手県",
"04" => "宮城県",
"05" => "秋田県",
"06" => "山形県",
"07" => "福島県",
"08" => "茨城県",
"09" => "栃木県",
"10" => "群馬県",
"11" => "埼玉県",
"12" => "千葉県",
"13" => "東京都",
"14" => "神奈川県",
"15" => "新潟県",
"16" => "富山県",
"17" => "石川県",
"18" => "福井県",
"19" => "山梨県",
"20" => "長野県",
"21" => "岐阜県",
"22" => "静岡県",
"23" => "愛知県",
"24" => "三重県",
"25" => "滋賀県",
"26" => "京都府",
"27" => "大阪府",
"28" => "兵庫県",
"29" => "奈良県",
"30" => "和歌山県",
"31" => "鳥取県",
"32" => "島根県",
"33" => "岡山県",
"34" => "広島県",
"35" => "山口県",
"36" => "徳島県",
"37" => "香川県",
"38" => "愛媛県",
"39" => "高知県",
"40" => "福岡県",
"41" => "佐賀県",
"42" => "長崎県",
"43" => "熊本県",
"44" => "大分県",
"45" => "宮崎県",
"46" => "鹿児島県",
"47" => "沖縄県"
);

$city_code = [];
foreach ($pref_ids as $key => $value) {
$req = 'http://www.land.mlit.go.jp/webland/api/CitySearch?area=’.$key;
$json = file_get_contents($req);
$json = mb_convert_encoding($json, 'UTF8’, 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN’);
$addcode = json_decode($json, true);
$city_code += array($key =>array("pref-code" => $key , "pref-name" => $value ,’data’ => $addcode['data’]));
}

$arr = json_encode($city_code, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
file_put_contents("citycode.json" , $arr);
[/php]

でもよく探してみたら、総務省|電子自治体|全国地方公共団体コードに都道府県コード及び市区町村コードのExcelが見つかりました。
こちらの全国地方公共団体コードは6桁ですが、最後の一桁は誤り検出のためのチェックディジットとかなので、末尾一桁を削ってCSVに吐き出せば、当初の目的は果たせたかも(^^;