これならわかる!PHPで全角 ⇔ 半角の変換方法について解説!

こんにちは!独学プログラマー&ライターのつぶらやです。

皆さんは普段メールなど書く時に、全角や半角を意識されますでしょうか。

文章を書く上ではあまり問題にならない全角や半角ですが、プログラムを書く時は意識する必要があります。

例えばユーザーにブラウザから入力してもらった結果をサーバーに送る際、数値が全角では困る場合などがあるためです。

本日は、文字列を全角や半角に変換するために以下のお話をしようと思います。


・mb_convert_kana関数とは
・mb_convert_kana関数のオプション
・mb_convert_kanaの使い方

イメージしやすいようにサンプルもつけますね。

それでは始めます。

mb_convert_kana関数とは

PHPには半角と全角を変換するためにmb_convert_kanaという関数が準備されています。

  • 半角⇒全角
  • 全角⇒半角

どちらにも対応しています。

mb_convert_kana以下のように記述します。

mb_convert_kana("変換する文字列", "オプション")

第一引数に変換する文字列、第二引数にオプションを指定する事によって変換内容を設定出来ます。

沢山ありますのでオプションについては次章で説明します。

mb_convert_kana関数のオプション

前章でmb_convert_kana関数にオプションをつける事によって変換内容を設定できることをお話しました。

因みにオプションには大文字小文字がありますが、

  • 小文字⇒全角から半角へ変換
  • 大文字⇒半角から全角へ変換

となっています。

それではどんなオプションがあるのか表にまとめましたので見ていきましょう。

変換種類 オプション 変換対象
全角⇒半角 r 英字
n 数字
a 英数字
s スペース
k カタカナ
h ひらがな⇒カタカナ
半角⇒全角 R 英字
N 数字
A 英数字
S スペース
K カタカナ
H カタカナ⇒ひらがな
全角⇒全角 c カタカナ⇒ひらがな
C ひらがな⇒カタカナ
特殊オプション V 濁点付き文字を1文字に変換(KやHオプションと一緒に使用)

沢山ありましたね。

この表を見ただけでは実際の使い方がイメージできないと思いますので、次はサンプルを使って説明していきます。

mb_convert_kanaの使い方

前章ではmb_convert_kanaを使用する際に使用するオプションの種類をお伝えしました。

この項目ではそのオプションをどのように指定するのかサンプルを使って説明していきます。

全角文字 ⇔ 半角文字の変換

まずは全角文字と半角文字の変換です。

オプションはKとkを使用します。

全角文字を半角に変換

変換データ 期待する変換結果
サムライ サムライ

echo mb_convert_kana("サムライ", "k");
結果
サムライ

半角文字を全角に変換

変換データ 期待する変換結果
サムライ サムライ

echo mb_convert_kana("サムライ", "K");
結果
サムライ

全角数字 ⇔ 半角数字の変換

続いて全角数字と半角数字の変換です。

オプションはNとnを使用します。

全角数字を半角に変換

変換データ 期待する変換結果
5

echo mb_convert_kana("5", "n");
結果
5

半角数字を全角に変換

変換データ 期待する変換結果
5

echo mb_convert_kana("5", "N");
結果
5

全角記号 ⇔ 半角記号の変換

最後に全角記号と半角記号の変換です。

オプションはAとaを使用します。

ハイフンを例にあげてみます。

全角記号を半角に変換

変換データ 期待する変換結果
-

echo mb_convert_kana("-", "a");
結果
-

半角記号を全角に変換

変換データ 期待する変換結果
-

echo mb_convert_kana("-", "A");
結果
-

この章で示したサンプルのオプションは一つしか指定していませんが、実際は複数指定できます。

例えば、全角カタカナと全角の数字の両方を半角にしたい場合はオプションは「nk」となります。

変換をまとめて指定できるのはとても便利ですね。

まとめ

本日はPHPの全角と半角の変換についてお話しました。

ただ表を見るだけで覚えるよりも、色んなオプションの組み合わせを実際試してみるほうが覚えやすいと思います。

ぜひローカル環境などを使って試しながら学習してみてください。

それでは、また。

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

つぶらや

つぶらや

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。