ホームページ >バックエンド開発 >PHPの問題 >PHPで中国語の文字列が何文字あるかを確認する方法

PHPで中国語の文字列が何文字あるかを確認する方法

青灯夜游
青灯夜游オリジナル
2022-04-24 11:09:513543ブラウズ

PHP では、mb_strlen() 関数を使用して、中国語の文字列に含まれる文字数を確認できます。構文は「strlen(string, "文字エンコーディング")」であり、正確に文字数を返すことができます。中国語の文字列内の文字 数値; この関数は、設定された文字エンコーディングを通じて中国語の文字を処理できるため、中国語の文字、英語、数字などの長さは 1 文字のみになります。

PHPで中国語の文字列が何文字あるかを確認する方法

このチュートリアルの動作環境: 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(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = "欢迎来到这里";
echo &#39;字符串 “&#39;.$str.&#39;” 的字符个数为:&#39;.mb_strlen($str).&#39;<br>&#39;;
echo &#39;字符串 “&#39;.$str.&#39;” 的字符个数为:&#39;.mb_strlen($str,"utf-8").&#39;<br>&#39;;
?>

PHPで中国語の文字列が何文字あるかを確認する方法

2 番目の文字列が存在する場合、次のことがわかります。文字がパラメータ省略されている場合、関数は内部文字エンコーディングを使用するため、GB2312 でエンコードされた中国語文字は長さ 2 文字を占め、UTF-8 でエンコードされた中国語文字は長さ 3 文字を占めます。

したがって、中国語の文字列の長さをカウントする場合、第 2 パラメータを省略することはできません。

mb_strlen() 関数は、純粋な中国語の文字をカウントするだけでなく、中国語と英語の混合文字列もカウントします。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = "欢迎来到PHP中文网";
echo &#39;字符串 “&#39;.$str.&#39;” 的字符个数为:&#39;.mb_strlen($str,"utf-8").&#39;<br>&#39;;
?>

PHPで中国語の文字列が何文字あるかを確認する方法

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで中国語の文字列が何文字あるかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。