array_intersect的问题

时间:2015-11-16 14:42:53

标签: php

我在此代码中遇到问题。我必须在计数大于0的表之间有交集。然后我使用函数array_interset()但是当我使用条件来计算时我在这段代码中遇到了问题:

$iheb1 = 
array_intersect( 
    if(count($tab0)>0) { $tab0, }
    if(count($tab1)>0) { $tab1, }
    if(count($tab2)>0) { $tab2, } 
    if(count($tab3)>0) { $tab3, }
    if(count($tab4)>0) { $tab4, }
    if(count($tab5)>0) { $tab5, }
    if(count($tab6)>0) { $tab6 }
);  

1 个答案:

答案 0 :(得分:0)

这里有很多问题。最重要的是array_intersect参数中的if语句。

试试这个:

首先将所有数组添加到一个或多个数组(我使用$ full_array)。

$array_to_test = array();

foreach($full_array as $arr){
    if(count($arr)>0){
        array_push($array_to_test, $arr);
    }
}
$iheb1 = array_reduce($array_to_test,function(&$a,$b) {$a = array_intersect($a,$b);},Array());

我找到了similar question,这似乎有效。