こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 PHPで半角文字チェックをするやり方について
- 半角文字チェックのサンプルプログラム
- 半角文字チェックの解説
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
半角文字チェックのサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php class CheckHankaku{ function checkHankaku($check_str) { if (mb_strlen($check_str) == mb_strwidth($check_str)) { print("{$check_str}はすべて半角文字で構成されています<br >"); } else { print("{$check_str}は全角文字が含まれています<br >"); } } } $checkHanka = new checkHankaku(); $checkHanka->checkHankaku('apple'); $checkHanka->checkHankaku('apple'); ?> |
実行結果
「apple」と「apple」で半角チェックができていることが確認できました。
なぜ半角チェックすることができたのか、を次の章で解説します。
半角文字チェックの解説
半角文字チェックをしているのは、このif文です。
1 |
if (mb_strlen($check_str) == mb_strwidth($check_str)) { |
mb_strlen関数とは、全角のようなマルチバイトの文字列でも正確に文字数を取得することができる関数です。
かたやmb_strwidth関数とは、文字列の幅を取得する関数です。
半角文字は1、全角文字は2として数えます。
両方の関数を使って返り値が一致しているならばすべて半角、不一致ならば全角が含まれていると判断できるため半角チェックができる、というわけです。
それぞれの関数についての詳しい解説はこちらの記事をご参考ください。
mb_strlen関数について
【PHP】文字数を取得することができるmb_strlen関数を解説します
【PHP】文字数を取得することができるmb_strlen関数を解説します
mb_strwidth関数について
【PHP】文字列の幅を取得することができるmb_strwidth関数を解説します
まとめ:半角文字チェックをやってみよう
以上がPHPで半角文字チェックのやり方についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント