2010-08-07 6 views
0

J'ai un tableau multidimensionnel php (2 niveaux) avec quelques valeurs et je veux identifier quelles valeurs sont présentes dans tous les tableaux.tableaux php trouver les éléments présents dans tous les sous-tableaux

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

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

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

) 

.... dans notre cas, la valeur 1 est présente dans tous les tableaux de 2e niveau. Y a-t-il un moyen de l'identifier?

Répondre

2

Vous pouvez utiliser array_intersect pour faire une intersection de tous les tableaux:

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

Ou un peu plus court en utilisant call_user_func_array:

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