您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

求高效算法找

2024/8/22 8:56:20发布32次查看
$a = array( 'a' => array(1,2,3,4,5,6), 'b' => array(1,7,8,9), 'c' => array(1,6,7,8,9),) $b = array( '2','4') 求高效算法找出 $b数组 属于数组 $a a、b、c的那一项的子集,注 $a,$b 数量不确定
回复讨论(解决方案) $a = array( 'a' => array(1,2,3,4,5,6), 'b' => array(1,7,8,9), 'c' => array(1,6,7,8,9),); $b = array( '2','4');$r = array_filter($a, function($t) use ($b) { return array_intersect($b, $t) == $b;});print_r($r);

array( [a] => array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ))

foreach ($a as $key => $aa) { if (count($aa) == count(array_flip(array_merge($aa, $b)))) { echo $key; break; }}
不知道这个算不算高效
$a = array( 'a' => array(1,2,3,4,5,6), 'b' => array(1,7,8,9), 'c' => array(1,6,7,8,9),); $b = array( '2','4');$r = array_filter($a, function($t) use ($b) { return array_intersect($b, $t) == $b;});print_r($r);

array( [a] => array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ))

牛比。。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product