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を使う際は、文字エンコーディングに注意し、適切な関数を選択することが重要です。