2010-10-02 10 views
0

Hé les gars. J'ai une question. J'ai deux tableaux différents avec une structure différente et je veux comparer les valeurs et annuler les valeurs communes. Les premiers tableaux ressemble à:Comparer deux tableaux différents et un élément non-spécifié du premier

Array ([0] => Array ([key1] => value1 [key2] => value2) [1] => Array ([key1] => value3 [key2] => value4) [2] => Array ([key1] => value5 [key2] => value6) [3] => Array ([key1] => value7 [key2] => value9) [4] => Array ([key1] => value11 [key2] => value13)) 

Le second tableau ressemble à:

Array ([0] => value1 [1] => value3 [2] => value9) 

Alors, je dois analyser toutes les valeurs du premier tableau et comparer la première clé avec des éléments de la seconde tableau. Quelque chose comme ça

foreach($array1 as $ar1){ 
    foreach($array2 as $ar2){ 
     if($ar1['key1'] == $ar2){ 
      unset($array1[$ar1]); 
     } 
    } 
} 

J'ai tout essayé, mais cela ne fonctionne pas. Le premier tableau est généré, donc je ne peux pas changer sa structure. Le second est fait à la main. Après le processus, le premier tableau ressemblera:

Array ([2] => Array ([key1] => value5 [key2] => value6) [3] => Array ([key1] => value7 [key2] => value8)) 

Aidez-moi quelques idées. Merci

Répondre

0

Essayez ceci:

foreach($array1 as $k => $ar1){ 
    foreach($array2 as $ar2){ 
     if($ar1['key1'] == $ar2){ 
      unset($array1[$k]); 
     } 
    } 
} 
+0

Merci beaucoup. – pasker