PHP如何判斷字串中包含重複相同的數字

來源:互聯網
上載者:User
PHP怎麼判斷字串中包含重複相同的數字?
比如我有這麼一組字串:
a012
a023
a034
a010
a221
a133
a000
a111
a222

怎麼判斷出每個字串是否有重複的字,而且要知道重複的次數。

如上的字串,我想要的結果是:
a012,a023,a034均無重複數字,則結果返回1
a010,a221,a133均有2個數字為相同,則結果返回2
a000,a111,a222均有3個數字相同,則結果返回3
(注,判斷的時候必須符合相應的重複次數,如a000,為3個數字相同,返回的必須是3,不能是2)
怎麼做到?
------解決方案--------------------
$a = array(
'a012',
'a023',
'a034',
'a010',
'a221',
'a133',
'a000',
'a111',
'a222',
);
foreach($a as $v) {
$t = array_count_values(str_split($v));
$res[$v] = max($t);
}
print_r($res);
Array
(
[a012] => 1
[a023] => 1
[a034] => 1
[a010] => 2
[a221] => 2
[a133] => 2
[a000] => 3
[a111] => 3
[a222] => 3
)

------解決方案--------------------
思路:
1.用str_split將字串分割為數組
2.使用array_count_values返回每個字元出現的次數
3.max,取得重複最多的次數。


$arr = array('a012','a023','a034','a010','a221','a133','a000','a111','a222');
$arrcount = array();

foreach($arr as $val){
$tmp = array_count_values(str_split($val));
$arrcount[$val] = max($tmp);
}

print_r($arrcount);
?>
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.