文字列の長さを求める

PHP:
文字列の長さを求める

How to: (やり方)

PHPにおいて文字列の長さを取得するのは簡単です。strlen() 関数を使います。例を見てみましょう。

<?php
$string = "こんにちは";
$length = strlen($string);
echo $length; // 出力は15です。なぜなら、"こんにちは"はマルチバイト文字だからです。
?>

マルチバイト文字列の場合、mb_strlen() 関数を使いましょう。

<?php
$multiByteString = "こんにちは";
$length = mb_strlen($multiByteString);
echo $length; // 出力は5です。マルチバイト対応です。
?>

Deep Dive (深掘り)

strlen() 関数はPHP 4より前から存在し、単純な1バイト文字列に対して使われてきました。ですが、マルチバイト文字(例えば日本語のような)の場合、mb_strlen() 関数が必要です。なぜなら、strlen() はバイト数を数えるのに対し、mb_strlen() は実際の文字数を数えるためです。設定や環境による実行速度の差もありますが、一般にmb_strlen() の方が少し遅いです。PHPを使う際は、文字エンコーディングに注意し、適切な関数を選択することが重要です。

See Also (参考文献)