質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

1484閲覧

市町村区からそれ以降の郵便番号を求める

kenkbou

総合スコア151

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/05/13 21:50

お世話になります。

以下の例のように市町村区からそれ以降の住所(郵便番号)を求めたいです。
例えば、
目黒区と入力した場合、
152-0000 目黒区
153-0042 目黒区青葉台
152-0033 目黒区大岡山
153-0044 目黒区大橋
・・・
といったようにそれ以降の住所の配列を取得したいです。

そのようなプラグイン等ご存知の方いらっしゃいますでしょうか。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2017/05/14 00:03

プラグインということはワードプレスですか? だとしたら Wordpress タグを入れてください。それと、聞きたいことだけ聞くのではなく、その背景を詳しく説明した方がいいと思います。でないと回答の幅が広くなりすぎます。
kenkbou

2017/05/14 00:24

いえ、普通のPHPです。ご指摘ありがとうございます。
Zuishin

2017/05/14 00:41

PHP にプラグインってありましたっけ?
Zuishin

2017/05/14 13:35

回答の幅が広くなるということは回答が減るということです。回答が無駄になる可能性が高くなるからです。プラグインのような意味不明な言葉があるということも回答が減る一因になります。確実に答えられることしか答えない主義の方も多いです。
guest

回答4

0

郵便番号の情報は
http://www.post.japanpost.jp/zipcode/download.html
で取得できます。

日本だけでいい場合は大抵の場合このcsvを必要な部分だけにしてphpから抜き出すというのが一般的ですね。

もしも海外等の郵便番号も対応させたいとか、csvの処理やりたくないって人は
https://github.com/antonioribeiro/zipcode
あたりを使うと良いんじゃないかなと思います。

投稿2017/05/13 23:18

fagai

総合スコア2158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenkbou

2017/05/14 12:49

ありがとうございます。 csvだと全ての行をよみこんで条件分岐する感じですかね? それだと時間がかかりすぎてしまいそうな気がするのですが、、、 何か良い方法ありますかね?
guest

0

ベストアンサー

RDBに取り込んでおいて都度参照すればよいのでは?

ただし、市区町村名はよくかわりますし、どのタイミングで入力された
住所なのかによってヒットさせづらいかもしれません

あとはブレをどうするかですね
たとえば東京と広島にある「府中市」をどう判断するかとか

投稿2017/05/15 01:07

yambejp

総合スコア114581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenkbou

2017/05/15 03:49

ありがとうございます!そうですね、dbに入れておいて検索するのが良いと思いました。
guest

0

基本的には郵便局提供のデータベースを RDB に取り込んで扱うのが良いです。
※ただし、一度加工しないとうまく使えませんが

データ量が10万件を超えてきますので、CSV で処理するのは現実的ではありません。
また、絞り込む際には都道府県・市区町村の2段階にするのが良いかと思います。
※都道府県だけではダメです。「北区」「西区」は大阪府で二つ(大阪市と堺市)、「緑区」「南区」も神奈川県に二つ(横浜市と相模原市)あります

もとの郵便局のデータベースには地方自治団体がコード化されていますので、RDB でもこのコードにインデックスをつけてやると絞り込みが素早くできます。

地方自治団体はそうそう変わりません(合併でもしない限り)が、その下の町域名になると(住居表示の実施などで)細かく変わったりします。しかも全国的に公示されるわけではないので郵便局のデータ頼みになりますので、それも含めて郵便局のデータを活用したほうが良いです。

投稿2017/05/15 01:50

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenkbou

2017/05/15 03:50

ありがとうございます。dbに入れておく方法で対応したいと思います。
guest

0

回答ではないですが…

郵便番号は結構イレギュラーがあるので、単純なルールだけでは思わぬデータをひろうことがありますのでご注意

投稿2017/05/14 02:00

takaboo

総合スコア195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenkbou

2017/05/15 03:49

ありがとうございます。イレギュラーケースも考慮しておきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問