PHP では、mb_strlen() 関数を使用して、中国語の文字列に含まれる文字数を確認できます。構文は「strlen(string, "文字エンコーディング")」であり、正確に文字数を返すことができます。中国語の文字列内の文字 数値; この関数は、設定された文字エンコーディングを通じて中国語の文字を処理できるため、中国語の文字、英語、数字などの長さは 1 文字のみになります。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP で長さを計算するためによく使用されます。 strlen() 関数と mb_strlen() 関数という 2 つの関数があります。すべて英語の文字列を処理する場合、これら 2 つの関数の効果は同じですが、中国語と英語が混在した文字列、または純粋な中国語の文字列を処理する場合、これら 2 つの関数にはいくつかの違いがあります。
strlen() は中国語と英語が混在した文字列、または純粋な中国語の文字列を正確に計算できませんが、mb_strlen() は正確に計算できます。
したがって、中国語の文字列が何文字あるかを確認したい場合は、mb_strlen()関数を使用する必要があります。
php mb_strlen() 関数
mb_strlen() 関数は、文字列の長さを返します。つまり、文字列内の文字数をカウントします。弦。
構文:
strlen(字符串,"字符编码")
この関数は、文字エンコーディングを設定することで対応する文字数を返すことができ、中国語を適切に処理します。文字列の長さの問題。
mb_strlen() 関数では、漢字、英語、数字、小数点、アンダースコア、スペースなどの文字エンコーディングを設定することで、長さは 1 文字だけになります。
戻り値: 成功した場合は文字列の長さを返し、文字列が空の場合は 0 を返します。
例: 中国語の文字列が何文字あるかを確認する
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到这里"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str).'<br>'; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
2 番目の文字列が存在する場合、次のことがわかります。文字がパラメータ省略されている場合、関数は内部文字エンコーディングを使用するため、GB2312 でエンコードされた中国語文字は長さ 2 文字を占め、UTF-8 でエンコードされた中国語文字は長さ 3 文字を占めます。
したがって、中国語の文字列の長さをカウントする場合、第 2 パラメータを省略することはできません。
mb_strlen() 関数は、純粋な中国語の文字をカウントするだけでなく、中国語と英語の混合文字列もカウントします。
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到PHP中文网"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPで中国語の文字列が何文字あるかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。