郵便番号から住所検索

郵便番号から都道府県/市区町村/町名を検索

日本郵便の郵便番号データダウンロードからCSVをダウンロード。

PHP

/** * * 郵便番号から住所検索 * * @param int $zip * @return mixed */ function getAddress($zip) { // 郵便番号CSV $file_name = 'library/KEN_ALL.CSV'; $fp = @fopen($file_name, 'r'); $i = 0; while (($buffer = fgetcsv($fp, 200, ',')) !== FALSE) { // 郵便番号 $data[$i]['zip'] = $buffer[2]; if ($zip == $data[$i]['zip']) { // 都道府県 $data[$i]['state'] = mb_convert_encoding($buffer[6], 'UTF-8', 'SJIS'); // 市区町村 $data[$i]['city'] = mb_convert_encoding($buffer[7], 'UTF-8', 'SJIS'); // 町名 $data[$i]['street'] = mb_convert_encoding($buffer[8], 'UTF-8', 'SJIS'); // 半角英数字へ置換 $data[$i]['street'] = mb_convert_kana($data[$i]['street'], 'a', 'UTF-8'); // 以下に掲載がない場合、(次のビルを除く)(地階・階層不明)などを削除 $data[$i]['street'] = preg_replace('/以下に掲載がない場合|\(.*\)/', '', $data[$i]['street']); return $data[$i]; } $i++; } fclose($fp); // 事業所CSV $file_name ='library/JIGYOSYO.CSV'; $fp = @fopen($file_name, 'r'); while (($buffer = fgetcsv($fp, 200, ',')) !== FALSE) { // 郵便番号 $data[$i]['zip'] = $buffer[7]; if ($zip == $data[$i]['zip']) { // 社名 // $data[$i]['company'] = mb_convert_encoding($buffer[2], 'UTF-8', 'SJIS'); // 都道府県 $data[$i]['state'] = mb_convert_encoding($buffer[3], 'UTF-8', 'SJIS'); // 市区町村 $data[$i]['city'] = mb_convert_encoding($buffer[4], 'UTF-8', 'SJIS'); // 町名 $data[$i]['street'] = mb_convert_encoding($buffer[5] . $buffer[6], 'UTF-8', 'SJIS'); // 半角英数字へ置換 $data[$i]['street'] = mb_convert_kana($data[$i]['street'], 'a', 'UTF-8'); return $data[$i]; } $i++; } fclose($fp); return; }

サンプル

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について