郵便番号から住所検索
郵便番号から都道府県/市区町村/町名を検索
日本郵便の郵便番号データダウンロードから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;
}
サンプル