比较两个不同的数组并从第一个数组中取消设置元素
嘿伙计们。我有一个问题。 我有两个具有不同结构的不同数组,我想比较这些值并取消设置公共值。 第一个数组看起来像:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
Try this: