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