この記事の例では、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/963844.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/963844.html
技術記事
PHP で入力が純粋な数字、英語、および中国語の文字であるかどうかを判断する方法 この記事では、入力が純粋な数字、英語、および中国語の文字であるかどうかを判断する PHP の方法について説明します。参考のためにみんなで共有してください。ツール...