【これだけ】PHPで桁数をチェックする方法【現役エンジニアが解説】

PROGRAM

今回は、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関数を使いましょう。