我想查找字符串包含多少個唯一字符。實例:PHP:查找字符串中不同字母的數量
"66615888" contains 4 digits (6 1 5 8).
"12333333345" contains 5 digits (1 2 3 4 5).
我想查找字符串包含多少個唯一字符。實例:PHP:查找字符串中不同字母的數量
"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()
- Sp點燃一個字符串到一個數組它的工作原理,謝謝〜 – jlee 2013-03-13 16:49:42
+1但是,讓我問:你知道哪個性能更好:你的解決方案還是merlin2011的/ NikiC的? – insertusernamehere 2013-03-13 16:54:36
@insertusername我不知道。哪一個更好? – jlee 2013-03-13 17:01:08
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);
$count = strlen($uniqued);
請參閱文檔here。
您可以使用下面的腳本:
<?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)
這裏PHP字符串函數count_chars()
在模式3
產生一個具有所有唯一字符的數組。
PHP字符串函數strlen()
產生了唯一字符的總數。
你關心數字(字符)返回的順序嗎? – Floris 2013-03-13 16:47:39
詢問問題是詢問「多少」唯一字符,而不是它們的列表。 – merlin2011 2013-03-13 17:01:55
@弗洛里斯我沒有,只需要「多少」。 – jlee 2013-03-13 17:06:42