【问题标题】:Compare two different arrays and unset element from the first one比较两个不同的数组和第一个数组的未设置元素
【发布时间】:2010-10-02 23:42:14
【问题描述】:

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

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 ))

帮我提一些想法。 谢谢

【问题讨论】:

    标签: php multidimensional-array foreach


    【解决方案1】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 2020-08-13
      • 2021-05-06
      相关资源
      最近更新 更多