文字列に含まれる一意の文字の数を調べたい。例:
"66615888" contains 4 digits (6 1 5 8).
"12333333345" contains 5 digits (1 2 3 4 5).
文字列に含まれる一意の文字の数を調べたい。例:
"66615888" contains 4 digits (6 1 5 8).
"12333333345" contains 5 digits (1 2 3 4 5).
echo count( array_unique( str_split( '66615888')));
ドキュメント:
count()
-配列内の要素の数を数えますarray_unique()
-配列内の一意の要素を検索しますstr_split()
-文字列を配列に分割しますcount_chars
のマップを提供しますchar => frequency
。これは、次のようにまとめることができますarray_sum
。
$count = array_sum(count_chars($str));
または、すべての一意の文字を含む文字列を提供する3
モードを使用することもできます。count_chars
$count = strlen(count_chars($str, 3));
PHPには文字を数える機能があります。
$data = "foobar";
$uniqued = count_chars($data, 3);// return string(5) "abfor"
$count = strlen($uniqued);
こちらのドキュメントをご覧ください。
次のスクリプトを使用できます。
<?php
$str1='66615888';
$str2='12333333345';
echo 'The number of unique characters in "'.$str1.'" is: '.strlen(count_chars($str1,3)).' ('.count_chars($str1,3).')'.'<br><br>';
echo 'The number of unique characters in "'.$str2.'" is: '.strlen(count_chars($str2,3)).' ('.count_chars($str2,3).')'.'<br><br>';
?>
出力:
「66615888」の一意の文字数は次のとおりです。4(1568)
「12333333345」の一意の文字数は次のとおりです:5(12345)
count_chars()
ここで、モードのPHP文字列関数は3
、すべての一意の文字を含む配列を生成します。
PHP文字列関数strlen()
は、存在する一意の文字の総数を生成します。
マルチバイト文字列でも機能する別のバージョンを次に示します。
echo count(array_keys(array_flip(preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY))));