この記事の例では、PHP が入力が純粋な数字、英語、または中国語の文字であるかどうかを判断する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
ここで php の mb_strlen 関数と strlen 関数を使用すると、文字列がすべて英語なのか、英語と中国語の混合なのか、それとも純粋な中国語の文字なのかを簡単に知ることができます。簡単な説明は次のとおりです:
1. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと同じである場合
純粋な英語の文字列であると判断できます。
2. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
また、strlen の戻り値は mb_strlen の戻り値と同じで、余りが 0 となり、すべて漢字の文字列であると判断できます。
3. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
また、mb_strlen の戻り値の余りの後の strlen の戻り値は 0 ではないので、英語と中国語の混合文字列であると判断できます。
PHPコードは次のとおりです:
コードは次のとおりです:
/********
入力が純粋な数字、英語、漢字などであるかどうかを判断します
PHPのmb_strlen関数とstrlen関数を使うと文字列の構成を簡単に知ることができます
すべて英語なのか、英語と中国語の混合なのか、それとも純粋な漢字なのか。簡単に説明すると以下の通りです(上記サンプルプログラム)
1. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと同じである場合
純粋な英語の文字列であると判断できます。
2. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
また、strlen の戻り値は mb_strlen の戻り値と同じで、余りが 0 となり、すべて漢字の文字列であると判断できます。
3. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
また、mb_strlen の戻り値の余りの後の strlen の戻り値は 0 ではないので、英語と中国語の混合文字列であると判断できます。
*/
$str = "456abc";
$x = mb_strlen($str,'gb2312');
$y = strlen($str); エコー "-----456abc----
";
「$x」をエコーします。'
';
「$y」をエコーします。'
';
$str = "456私は中国人 abc
";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------456私は中国人 abcです----
";
echo "$x".'
'; echo "$y".'
';
$str = "私は中国人であり、祖国を愛しています";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "-----私は中国人で、祖国を愛しています---
" echo "$x".'
';
echo "$y".'
' $str = "I";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------私----
"; echo "$x".'
';
「$y」をエコーします。'
';
$str = "私ab";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------I ab----
"; echo "$x".'
'; echo "$y".'
';
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/963990.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/963990.html
技術記事
PHP で入力が純粋な数字、英語、中国語の文字であるかどうかを判断する方法 この記事では、PHP の mb_strlen と strlen を使用して、入力が純粋な数字、英語、中国語の文字であるかどうかを判断する方法を主に紹介します。