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

发布于 2024-09-25 12:49:17 字数 980 浏览 0 评论 0原文

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

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

帮我提供一些想法。 谢谢

Hey guys. I have a question.
I have two different arrays with different structure and i want to compare the values and unset the common values.
The first arrays looks like:

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

The second array looks like:

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

So, i need to parse all the values from the first array and compare the first key with elements from the second array.
Something like this

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

I've tried everything but it's not working. The first array is generated so i can't change it's structure. The second one is made by hand.
After the process, the first array will look like:

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

Help me with some ideas.
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往事风中埋 2024-10-02 12:49:17

试试这个:

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

Try this:

foreach($array1 as $k => $ar1){
    foreach($array2 as $ar2){
        if($ar1['key1'] == $ar2){
            unset($array1[$k]);
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文