怎么判断两组字符串是否有相同的字符

不言
풀어 주다: 2023-02-28 13:50:01
원래의
5465명이 탐색했습니다.

  如何判断两组字符串是否有相同的字符?
$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);
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿