phpで都道府県名を見つけたら数字に置き換えたいんだけど・・・。
それなら、str_replace()だね。
あれ?str_replaceって1単語しか無理じゃなかったっけ?
ボクはこんなイメージでいたんだけど・・・。
<?php $a = 'おはようさん'; $a = str_replace('さん', 'ございます。' ,$a); echo $a; ?>
で、これの結果は
「 おはようございます。 」
と表示されるっていう・・・。
たしかに、str_replaceは、“A”を”B”に変換させるという用途で使うのだけれど、
それだと、都道府県とかを入れるとなると、47回繰り返さないといけないじゃない?それだけ行数も増えるし、読み込み速度も微々たるものだけど遅くなると思うよ。
うーん、じゃあどうすればいいんだろう(´・ω・`)
大丈夫(・∀・)次のようにすると、
複数の文字列をそれぞれ指定した文字列に置き換える事ができるよ。
<?php // 都道府県毎に置き換える文字または数字をいれておく $table = array( "北海道"=>"1","青森県"=>"2","岩手県"=>"3","宮城県"=>"4","秋田県"=>"5","山形県"=>"6","福島県"=>"7","茨城県"=>"8","栃木県"=>"9","群馬県"=>"10","埼玉県"=>"11","千葉県"=>"12","東京都"=>"13","神奈川県"=>"14","新潟県"=>"15","富山県"=>"16","石川県"=>"17","福井県"=>"18","山梨県"=>"19","長野県"=>"20","岐阜県"=>"21","静岡県"=>"22","愛知県"=>"23","三重県"=>"24","滋賀県"=>"25","京都府"=>"26","大阪府"=>"27","兵庫県"=>"28","奈良県"=>"29","和歌山県"=>"30","鳥取県"=>"31","島根県"=>"32","岡山県"=>"33","広島県"=>"34","山口県"=>"35","徳島県"=>"36","香川県"=>"37","愛媛県"=>"38","高知県"=>"39","福岡県"=>"40","佐賀県"=>"41","長崎県"=>"42","熊本県"=>"43","大分県"=>"44","宮崎県"=>"45","鹿児島県"=>"46","沖縄県"=>"47"); // 試しに京都府を値に入れてみる $address = '京都府'; // 変換させる。stringでなくてもhogeとかでも大丈夫。 $string = str_replace( array_keys( $table), array_values( $table), $address); // echoで表示させる。 echo $address .'は' .$string .'番です。'; ?>
結果は
「 京都府は26番です 」
となるね。
わぁ~。これだと、楽だね。
ちなみに、
今回のarrayで並べてみた置き換え文字列だけど、
都道府県名だけのarrayは下記のサイトからコピペさせていただきましたよぉ。
参考サイトリンク: ANO? SINO? SAAN? |【PHP】都道府県名の入った配列