PHP 删除另一个数组项(如果存在)[重复]

2024-04-13

我有 2 个对象数组:数组 A 和数组 B。如何检查数组 B 中的对象是否存在于数组 A 中。如果存在,则将其从数组 A 中删除。

Example:

Array A:
   [
       {"id": 1, "name": "item1"},
       {"id": 2, "name": "item2"},
       {"id": 3, "name": "item3"},
       {"id": 4, "name": "item4"}
   ]

Array B 
   [
       {"id": 1, "name": "item1"},
       {"id": 3, "name": "item3"}
   ]

删除数组 A 后应如下所示:

   [
       {"id": 2, "name": "item2"},
       {"id": 4, "name": "item4"}
   ]

您可以使用数组_udiff http://php.net/array_udiff,你可以参考这些帖子进行数组比较post1 https://stackoverflow.com/questions/11821680/array-diff-with-multidimensional-arrays and post2 https://stackoverflow.com/questions/5678959/php-check-if-two-arrays-are-equal. 现场演示 https://eval.in/788693

print_r(array_udiff($A, $B, function($a, $b){return $a['id'] == $b['id'] && $a['name'] == $b['name'] ? 0 : -1;}));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 删除另一个数组项(如果存在)[重复] 的相关文章

随机推荐