PHP 住所文字列から都道府県を分離するコード

 

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 件のコメント:

コメントを投稿