PHP 住所文字列から都道府県を分離する
顧客管理データベースが住所を都道府県と残りの住所で分けて管理しているため、一続きで住所が送られてきた場合分離する必要が出てきた。まず、全都道府県のリストがほしいと思ってChatGptにつくってもらう。その後分離する関数を書いてもらった。
$prefectures = [
'北海道',
'青森県',
'岩手県',
'宮城県',
'秋田県',
'山形県',
'福島県',
'茨城県',
'栃木県',
'群馬県',
'埼玉県',
'千葉県',
'東京都',
'神奈川県',
'新潟県',
'富山県',
'石川県',
'福井県',
'山梨県',
'長野県',
'岐阜県',
'静岡県',
'愛知県',
'三重県',
'滋賀県',
'京都府',
'大阪府',
'兵庫県',
'奈良県',
'和歌山県',
'鳥取県',
'島根県',
'岡山県',
'広島県',
'山口県',
'徳島県',
'香川県',
'愛媛県',
'高知県',
'福岡県',
'佐賀県',
'長崎県',
'熊本県',
'大分県',
'宮崎県',
'鹿児島県',
'沖縄県',
];
function splitAddress($address, $prefectures)
{
$result = [];
foreach ($prefectures as $prefecture) {
// 都道府県が住所の先頭にある場合
if (strpos($address, $prefecture) === 0) {
$result[] = $prefecture;
$result[] = ltrim(str_replace($prefecture, '', $address), ' ,');
return $result;
}
}
// 都道府県が見つからない場合
$result[] = '';
$result[] = $address;
return $result;
}
// 例として使用する住所
$sampleAddress = '東京都 台東区鳥越';
// 分割関数の呼び出し
$splitResult = splitAddress($sampleAddress, $prefectures);
// 結果の表示
echo $splitResult[0] . ', ' . $splitResult[1];

0 件のコメント:
コメントを投稿