时间:2021-07-01 10:21:17 帮助过:16人阅读
$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);