You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP获取两个数组外差集(Outer diff)的简洁实现方法

PHP数组外差集(对称差集)实现方案

结论

PHP目前没有原生内置的单独助手函数,可以直接实现两个数组的外差集(即仅在其中一个数组中出现、未同时在两个数组中存在的元素集合)。

更优实现方式

你当前使用的写法逻辑可行,还有一种更直观、执行效率更高的实现方案:

$result = array_merge(array_diff($a, $b), array_diff($b, $a));

示例验证

针对你给出的测试数组:

$a = array('11','22','33');
$b = array('22','44');
  • array_diff($a, $b) 输出仅在$a中存在的元素:['11', '33']
  • array_diff($b, $a) 输出仅在$b中存在的元素:['44']
  • 两者合并后结果完全符合预期:['11', '33', '44']

补充说明

  • 如果需要保留差集元素的原有键名,可将array_merge替换为+运算符:$result = array_diff($a, $b) + array_diff($b, $a);
  • 如果需要严格校验元素类型、或者处理关联数组/多维数组,可根据需求将array_diff替换为array_diff_assoc、array_udiff等对应差集函数即可。

内容的提问来源于stack exchange,提问作者Mahdi Bashirpour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:27:03