ホームページ > バックエンド開発 > PHPチュートリアル > PHP の strlen() と mb_strlen() の比較

PHP の strlen() と mb_strlen() の比較

不言
リリース: 2023-03-24 13:58:02
オリジナル
1708 人が閲覧しました

この記事の内容は、PHP の strlen() と mb_strlen() の比較に関するものです。必要な友人はそれを参照できるように共有します。

この記事は、ブロガーによるオリジナルです。 . 転載する場合は出典を明記してください。

まず、公式ドキュメントの内容を見てみましょう

strlen() - 文字列の長さを取得するために使用されます



int strlen ( ) 文字列 $string$string   )

  返回给定的字符串 string 的长度。   

mb_strlen获取字符串的长度


mixed mb_strlen    ( string $str[, string $encoding = mb_internal_encoding()  ] )

  获取一个 string 的长度。

str:要检查长度的字符串

encoding:encoding )

指定された文字列 string の長さを返します>。

mb_strlen

文字列の長さを取得します


$encoding = mb_internal_encoding()


] )

の長さを取得します

文字列

str:

長さを確認する 文字列

encoding: encodingパラメータは文字エンコーディングです。省略した場合は、内部文字エンコーディングが使用されます。注: Strlen () 関数は、中国語の文字列を適切に処理できません。文字列が占有しているバイト数を取得するだけです。 utf-8 としてエンコードされた場合、1 つの漢字は 3 バイトを占めます。 mb_strlen() では、エンコーディングが utf-8 の場合、漢字の出力の長さは 1 です。

理解を助けるためにコードの一部を以下に掲載します:

<?php
	header("Content-type:text/html;charset=utf-8");
	
	echo "关于字符串你长度获取的测试"."<br />";
	
	$_str_y = "hello";
	$_str_c = "你好";
	
	//strlen()
	echo "strlen()输出hello的长度".strlen($_str_y)."<br />";
	echo "strlen()输出&#39;你好&#39;的长度".strlen($_str_c)."<br />";
	/**
	 * 输出:
	 * strlen()输出hello的长度5
	 * strlen()输出&#39;你好&#39;的长度6
	 */
	
	//mb_strlen()
	echo "mb_strlen( 不指定字符编码 )输出hello的长度".mb_strlen($_str_y)."<br />";
	echo "mb_strlen( 不指定字符编码 )输出&#39;你好&#39;的长度".mb_strlen($_str_c)."<br />";	
	/**
	 * mb_strlen( 不指定字符编码 )输出hello的长度5
	 * mb_strlen( 不指定字符编码 )输出&#39;你好&#39;的长度6
	 */
	
	//mb_strlen()
	echo "mb_strlen( utf-8 )输出hello的长度".mb_strlen($_str_y,&#39;utf-8&#39;)."<br />";
	echo "mb_strlen( utf-8 )输出&#39;你好&#39;的长度".mb_strlen($_str_c,&#39;utf-8&#39;)."<br />";
	
	/**
	 * 输出:
	 * mb_strlen( utf-8 )输出hello的长度5
	 * mb_strlen( utf-8 )输出&#39;你好&#39;的长度2
	 */
	
	
?>
ログイン後にコピー

🎜 注: mb_strlen はPHP コア関数を使用する前に、php_mbstring.dll が php.ini にロードされていることを確認する必要があります。つまり、行「extension=php_mbstring.dll」が存在し、コメントアウトされていないことを確認してください。そうしないと、次の問題が発生します。未定義の関数が発生します。 🎜🎜🎜🎜🎜関連する推奨事項: 🎜🎜🎜🎜🎜php の抽象クラスとインターフェイスの違い🎜🎜🎜🎜🎜🎜

以上がPHP の strlen() と mb_strlen() の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート