ホームページ  >  記事  >  バックエンド開発  >  PHPで文字列の長さを計算する方法

PHPで文字列の長さを計算する方法

怪我咯
怪我咯オリジナル
2017-07-04 11:47:3210709ブラウズ

この記事では主にPHP関数を使って中国語と英語文字列の長さを計算する方法を紹介します。例ではPHP関数の実装方法と正規表現の実装方法を比較しています。友達が必要です。以下を参照してください

この記事の例では、PHP 関数を使用して中国語と英語の文字列の長さを計算する方法を説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです:

一般的に、英語の文字は 1 バイト、中国語の gbk は 2 文字、utf8 は 3 文字を占めることは誰もが知っています。実際、strlen() 関数は、文字の長さではなくバイトの長さを計算します。 mb_strlen() もあります

具体的なコードは次のとおりです:


コードは次のとおりです:

echo $str = 'PHP点点通'; 

echo strlen($str); //3*1+3*3=12  
echo mb_strlen($str, 'gb2312'); //3*1+3*2=9  
echo mb_strlen($str, 'utf-8'); //6

恐ろしいのは、mb シリーズの関数が PHP のコア関数ではなく、デフォルトで有効になっていないことです。非常に簡単な方法もあります。定期的に文字列を個々の文字に分解し、文字数を文字列の長さとして計算します。 コードは次のとおりです。


コードは次のとおりです。

<?php  
function _strlen($str)  
{  
        preg_match_all("/./us", $str, $matches);  
        return count(
current
($matches));  
}  
  
echo _strlen("PHP点点通");  //6  
?>


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

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