2010-08-07 67 views
0

我有一个值为php多维数组(2级),我想确定所有数组中存在的值。php数组发现所有子阵列中存在的元素

Array 
(
    [1] => Array 
     (
      [0] => 1 
      [1] => 3 
     ) 

    [2] => Array 
     (
      [0] => 1 
      [1] => 2 
     ) 

    [3] => Array 
     (
      [0] => 1 
      [1] => 3 
     ) 

) 

....在我们的案例中,值1存在于所有二级数组中。有没有一种方法来识别?

回答

2

您可以使用array_intersect做所有阵列的交集:

$intersection = $arr[0]; 
for ($i=1, $n=count($arr); $i<$n; ++$i) { 
    $intersection = array_intersect($intersection, $arr[$i]); 
    if (empty($intersection)) break; 
} 

或者短一点使用call_user_func_array

$intersection = call_user_func_array('array_intersect', $arr);