怎麼判斷兩組字串是否有相同的字元

來源:互聯網
上載者:User
如何判斷兩組字串是否有相同的字元?
$a=2344;//主字串,固定值。
//下面為可變化的變數
如果$b=12;//判斷$a字串中是否包含1和2,判斷後結果為假
如果$b=22;//判斷$a字串中是否包含兩個2,判斷後結果只有一個2,假
如果$b=234;//判斷$a字串中是否包含2,3,4.判斷後結果$a中全部包含,真
如果$b=324;//判斷$a字串中是否包含3,2,4.判斷後結果$a中全部包含,真
如果$b=4432;//判斷$a字串中是否包含4,4,3,2.判斷後結果$a中全部包含,真
如果$b=4444;//判斷$a字串中是否包含4個4,.判斷後結果$a只有二個4,假
如果$b
如果$b
如果$b
......後面還會有許多
我需要的判斷結果為如上。
判斷語句怎麼寫?
------解決方案--------------------

$a = '2344';$d = array('12', '22', '234', '324', '4432', '4444');$a = count_chars($a, 1);foreach($d as $b) {  $t = count_chars($b, 1);  $f = 0;  if(array_keys(array_intersect_key($t, $a)) == array_keys($a)) $f = 1;  printf("b = %s %s\n", $b, $f ? '真' : '假');}
b = 12 假b = 22 假b = 234 真b = 324 真b = 4432 真b = 4444 假

如果$b=4444;//判斷$a字串中是否包含4個4,.判斷後結果$a只有二個4,假
這條規則似乎不妥

------解決方案--------------------

$a='5415';$a=str_split($a);$a=array_count_values($a);$b='514';$b=str_split($b);$b=array_count_values($b);$result=true;foreach($b as $k=>$v){    if(!isset($a[$k]) OR $a[$k]<$v){        $result=false;        break;    }}var_dump($result);
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.