2010-08-07 82 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); 
相關問題