PHPで全角文字と半角文字を変換する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPで全角文字と半角文字を変換する方法について解説しています。全角文字や半角文字を相互に変換するにはmb_convert_kanaメソッドを使用します。オプションを指定することで全角文字や半角文字を相互に変換することが出来るようになります。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPで全角文字と半角文字を変換する方法について解説します。実際のコードをもとに解説していきますので、理解を深めていきましょう。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPで全角文字と半角文字を変換する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

全角文字や半角文字とは

全角文字とは、現在表示されている日本語表示のような文字を意味します。例えば全角文字の数字の1は1と表示されます。

半角文字とは、全角文字の半分程度のサイズの文字を意味します。例えば半角文字の数字の1は1と表示されます。

全角文字と半角文字の数字を実際に並べて比較するとこのようになります。

 

1(全角文字)
1(半角文字)

 

全角文字と半角文字を変換する方法

全角文字と半角文字を変換するためには、 mb_convert_kana()という関数を利用します。

mb_convert_kana()は、PHP4.0.6以降のphp4系、 PHP5系、 PHP7系で利用することが可能です。

 

基本の書き方

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

 

解説

mb_convert_kanaの()内に引数を指定することで変換することが可能です。

引数とは、関数を利用する際に指定する値です。引数を変化させることで、柔軟に関数を操作することが可能です。

変換する文字には、実際の文字列を指定してもよいのですが、変数を利用することが多いです。変数とは、値を入れる箱のようなもので、mb_convert_kana関数を利用する前に、変数内に変換したい文字列を格納することで、柔軟性の高い処理が可能になります。

変換オプションに様々なオプション値を指定することで、具体的な変換処理が可能です。

 

変換オプション例

  • rを指定すると、 「全角」英字を「半角」に変換することが可能です
  • Rを指定すると、 「半角」英字を「全角」に変換することが可能です
  • nを指定すると、 「全角」数字を「半角」に変換することが可能です
  • N を指定すると、「半角」数字を「全角」に変換することが可能です
  • a を指定すると、「全角」英数字を「半角」に変換することが可能です
  • A を指定すると、「半角」英数字を「全角」に変換することが可能です
  • sを指定すると、 「全角」スペースを「半角」に変換することが可能です
  • S を指定すると、「半角」スペースを「全角」に変換することが可能です
  • kを指定すると、 「全角カタカナ」を「半角カタカナ」に変換することが可能です
  • Kを指定すると 、「半角カタカナ」を「全角カタカナ」に変換することが可能です
  • hを指定すると、 「全角ひらがな」を「半角カタカナ」に変換することが可能です
  • H を指定すると、「半角カタカナ」を「全角ひらがな」に変換することが可能です
  • cを指定すると、 「全角カタカナ」を「全角ひらがな」に変換することが可能です
  • Cを指定すると、 「全角ひらがな」を「全角カタカナ」に変換することが可能です
  • Vを指定すると、 濁点付きの文字を一文字に変換します。注意点として、Vを指定する場合は、KやHと一緒に指定します

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

サンプルコード

<?php
$str = 'テックアカデミーTECHACADEMY';
$str = mb_convert_kana($str, "KVa");
echo $str;
?>

 

表示結果

テックアカデミーTECHACADEMY

 

解説

  1. 1行目の<?phpでは、PHPプログラムを開始するということを宣言しています
  2. 2行目の$str = ‘テックアカデミーTECHACADEMY’;では、変数strに、「半角カタカナ」のテックアカデミーと、「全角」英数文字のTECHACADEMYを代入しています
  3. 3行目の、$str = mb_convert_kana($str, “KVa”);では、2行目で代入した文字である、「半角カタカナ」を「全角カタカナ」に変換し、「全角」英数字を「半角」に変換したあと、変数strに代入しています
  4. 4行目のecho $str;では、変数strの中身を表示しています。表示結果では、半角カタカナが全角カタカナに変換され、全角英数文字が半角英数文字に変換された、テックアカデミーTECHACADEMYが表示されています
  5. 5行目の?>は省略可能です。PHPの処理が終了することを意味しています

 

今回は、PHPで全角文字と半角文字を変換する方法について解説しました。

 

筆者プロフィール

中本賢吾(なかもとけんご)

アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

地域の職業プログラマー育成活動では、小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。