mb_strlen関数と mb_strwidth関数の2つを使います。
mb_strlen関数:シングルバイト文字・マルチバイト文字ともに1としてカウントし整数で値を返してくれます。 mb_strwidth関数:原則シングルバイト文字=1、マルチバイト文字=2(シングルバイトの倍)としてカウントし値を返してくれます。
使用例は
$str = "確認したい文字列"; $len = mb_strlen($str, "UTF-8"); $wdt = mb_strwidth($str, "UTF-8"); if($len == $wdt) { // すべて半角の場合 } elseif($len * 2 == $wdt) { // すべて全角の場合 } else { // 全角・半角が混在している場合 }
となります。