php判断文字列長strlen()とmb_strlen()関数

1643 ワード

phpで文字列の長さを判断するにはstrlen()とmb_を使用する必要があることを知っています.strlen()関数はいいですが、私たちがこんなに簡単に考えているわけではありません.特に中国語と英語を混合するとき、上の関数は少し力が入らないので、友达に紹介します.
strlen()
PHP strlen()関数
定義と使用法
strlen()関数は文字列の長さを返します.
構文
strlen(string)
パラメータ:string
説明:必須.チェックする文字列を指定します.
echo strlen("www.php100.com!"); //13
echo strlen("   !");//6 strlen          2 
‘; 
echo mb_strlen($str,‘UTF8‘); 
//     
//14 
//6 
?>

結果分析:strlen計算時、UTF 8に対する中国語文字は3文字であるため、「中国語a文字1文字」の長さは3*4+2=14である
mb_strlen計算では、選択したコードがUTF 8の場合、1つの中国語文字を長さ1として計算するので、「中国語a字1文字」の長さは6
mb_strlen()関数
注意すべきはmb_strlenはPHPコア関数ではない、使用前にphpを確保する必要がある.iniにphp_がロードされましたmbstring.dll、すなわち確保
「extension=php_mbstring.dll」という行は存在し、コメントされていません.そうしないと、関数が定義されていないという問題が発生します.

「中国語a字1文字」のstrlen($str)値は14,mb_strlen($str)の値が6であると、「中国語a字1文字」の占有率が10と算出できる.
両者の違いを説明する
';//14
echo mb_strlen($str,'utf8').'
';//6 echo mb_strlen($str,'gbk').'
';//8 echo mb_strlen($str,'gb2312').'
';//10 ?>

結果分析:strlen計算では、UTF 8に対する中国語文字は3文字長であるため、「中国語a字1文字」の長さは3*4+2=14でmb_strlen
計算時に選択するイントラコードがUTF 8であれば、1つの中国語文字を長さ1として計算するので、「中国語a字1文字」の長さは6となる.
上の関数は簡単に中国語と英語の混合問題を解決することができますが、実際には使用できません.次に、友达に他の良いことを紹介します.