php には、文字列の長さを見つけるための 2 つの関数があります: 1. strlen() 関数は英語の文字列の長さを計算でき、構文は「strlen($string)」です; 2. mb_strlen () 関数は文字エンコーディングを設定することで、英語文字列、中国語文字列、または中国語と英語の混合文字列の長さを計算できます。構文は「mb_strlen($string,"文字エンコーディング")」です。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、DELL G3 コンピューター
PHP で長さを計算するためによく使用されます。 strlen() 関数と mb_strlen() 関数という 2 つの関数があります。すべて英語の文字列を処理する場合、これら 2 つの関数の効果は同じですが、中国語と英語が混在した文字列、または純粋な中国語の文字列を処理する場合、これら 2 つの関数にはいくつかの違いがあります。 ##strlen() 関数は英語の文字列の長さを計算できますが、中国語と英語が混在した文字列、または純粋な中国語の文字列の場合、長さを正確に計算できません。
mb_strlen() 関数は、英語の文字列、中国語の文字列、または中国語と英語の混合文字列の長さを計算できます。
strlen() 関数は、指定された文字列の長さを返すことができます。構文形式は次のとおりです。 strlen($string)
パラメータ $string は、長さを計算する必要がある文字列です。 $string が空の場合は 0 を返します。
例:しかし、strlen() 関数は、中国語文字列の長さの計算には適していません。この関数では、GB2312 でエンコードされた 1 つの中国語文字が長さ 2 文字、1 つの UTF- を占めるためです。 8 エンコードされた中国語文字の長さは 3 文字です。$str 文字列には、10 個の英字、1 個のスペース、1 個の英語の感嘆符、合計 12 文字が含まれるため、出力の長さは 12 になります。<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>'; ?>ログイン後にコピー
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的长度为:'.strlen($str).'<br>'; ?>
2. mb_strlen() 関数は文字列の長さを検出します
mb_strlen() 関数は文字列の長さを返すこともできます。構文形式は次のとおりです: mb_strlen($str [, $encoding = mb_internal_encoding()])
$str は長さを計算する必要がある文字列です
$encoding はオプションのパラメータ。文字エンコーディングです。省略した場合は、内部の文字エンコーディングが使用されます。
mb_strlen() 関数の戻り値は、$encoding エンコーディングを使用した文字列 $str に含まれる文字数です。$encoding が無効な場合は、false が返されます。
[例] mb_strlen()関数を使用して文字列長を取得します。対応する<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str,"utf-8").'<br>'; $str = "欢迎来到PHP中文网!"; echo '<br>字符串 “'.$str.'” 的长度为:'.mb_strlen($str,'utf-8').'<br>'; ?>ログイン後にコピー$encoding パラメータを設定することで、中国語の文字列の長さの問題をうまく処理できることがわかります。
推奨学習: 「
PHP ビデオ チュートリアル
」以上がPHPで文字列の長さを調べる関数は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。