現在の位置: ホーム> 最新記事一覧> PHP関数「MB_STRLEN」を使用して、マルチバイト文字列の長さを取得します

PHP関数「MB_STRLEN」を使用して、マルチバイト文字列の長さを取得します

M66 2025-06-05

PHP関数MB_STRLENを使用して、マルチバイト文字列の長さを取得します

PHPでは、従来の文字列長関数は、マルチバイト文字を処理するときに正確に計算できないことがよくあります。たとえば、漢字はUTF-8エンコーディングの下で​​マルチバイトであり、通常の関数を使用して計算すると、長さエラーが発生します。幸いなことに、PHPはそのような状況を処理するための特別な機能MB_STRLENを提供します。

mbstring拡張機能を有効にします

MB_STRLENを使用する前に、PHPがマルチバイト文字列拡張機能を有効にしていることを確認する必要があります。 PHP構成ファイルphp.iniを開き、次のコード行を見つけます。

; extension = mbstring

セミコロンがある場合 ";"その前で、削除してWebサーバーまたはPHPサービスを再起動して、拡張機能が有効になるようにします。

例:マルチバイト文字列の長さを計算します

<?php
$str = "こんにちは,世界!";
$length = mb_strlen($str, "UTF-8");
echo "弦 $str 長さはです: $length";
?>

上記のコードでは、変数$ strは中国語を含む文字列を保存します。 MB_STRLENを呼び出し、EncodingをUTF-8として指定して、文字列の長さを正しく計算します。実行の結果は次のように表示されます。

こんにちは、文字列!長さは次のとおりです

マルチバイト文字列が空であるかどうかを判断します

文字列が空であるかどうかを判断する必要がある場合があります。 MB_STRLENを使用すると、白面文字のみを含む文字列が除外されない場合があります。この時点で、トリム関数を使用して、最初に両端のスペースを削除し、次に長さを判断できます。

 <?php
$str = "    ";
$trimmedStr = trim($str);
if (mb_strlen($trimmedStr, "UTF-8") > 0) {
    echo "弦不为空";
} else {
    echo "弦为空";
}
?>

このように、文字列にスペースのみがある場合でも、プログラムは空の文字列として正しく判断されます。

要約します

PHPのMB_STRLEN関数を使用することにより、通常の文字列関数の問題を回避することにより、マルチバイト文字列の長さを正確に取得して、マルチリンガル環境のエラーを回避できます。トリム関数と組み合わせて、文字列が空であるかどうかを効果的に決定することもできます。これらの手法は、中国語やその他のマルチバイトのキャラクターを扱うときに非常に実用的であり、PHP開発者にとって非常に重要です。