【これだけ】PHPで桁数をチェックする方法【現役エンジニアが解説】
今回は、PHPで桁数をチェックする方法について、バイト数と文字数に分け、簡単に解説していきます。
バイト数をチェックする方法
PHPでバイト数をチェックする際はstrlen関数を使います。
アスキーコード表に載っている英数字は1バイトのため、文字数としての取得も可能です。
$str = "abc"; $length = strlen($str); // 3を取得
上記のコードは、実際にstrlen関数でバイト数を取得しているコードですが、”abc”はいずれも英数字のため、文字数としても取得できています。
文字数をチェックする方法
PHPで文字数をチェックする際は、mb_strlen関数を使います。
英数字と思われる場合でも、全角の可能性がある場合は、mb_strlen関数を使っておきましょう。
$str = "あいうえお"; $length = mb_strlen($str, "utf-8"); // 5を取得
上記のコードでは、mb_strlen関数を使っているため、第二引数で指定した文字エンコードで文字数をきちんと取得することができます。
マルチバイト文字の注意
マルチバイト文字の文字数チェックを行う場合は必ずmb_strlen関数を使いましょう。
$str = "あいうえお"; $length = strlen($str); // 15を取得
strlen関数はバイト数を返すため、マルチバイト文字に対して使うと数倍の桁数が返ってきます。
$str = "あいうえお"; $length = mb_strlen($str, "utf-8"); // 5を取得
mb_strlen関数では、文字エンコードに合わせて、バイト数ではなく文字数を返してくれますが、バイト数で桁数チェックをしたい場合はstrlen関数を使いましょう。