Php 比较两个不同的数组并取消设置第一个数组中的元素

Php 比较两个不同的数组并取消设置第一个数组中的元素,php,multidimensional-array,foreach,Php,Multidimensional Array,Foreach,嘿,伙计们。我有个问题。 我有两个具有不同结构的不同数组,我想比较这些值并取消设置公共值。 第一个数组看起来像: Array ( [0] => Array ( [key1] => value1 [key2] => value2 ) [1] => Array ( [key1] => value3 [key2] => value4 ) [2] => Array ( [key1] => value5 [key2] => value6 ) [3] =

嘿,伙计们。我有个问题。 我有两个具有不同结构的不同数组,我想比较这些值并取消设置公共值。 第一个数组看起来像:

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 ))
Array ( [0] => value1 [1] => value3 [2] => value9)
第二个数组看起来像:

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 ))
Array ( [0] => value1 [1] => value3 [2] => value9)
因此,我需要解析第一个数组中的所有值,并将第一个键与第二个数组中的元素进行比较。 像这样的

foreach($array1 as $ar1){
    foreach($array2 as $ar2){
        if($ar1['key1'] == $ar2){
            unset($array1[$ar1]);
        }
    }
}
我什么都试过了,但都没用。第一个数组已生成,因此我无法更改它的结构。第二个是手工制作的。 完成此过程后,第一个数组将如下所示:

 Array ([2] => Array ( [key1] => value5 [key2] => value6 ) [3] => Array ( [key1] => value7 [key2] => value8 ))
帮我提一些想法。 谢谢

试试这个:

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