我知道这里有很多类似的问题,但我真的认为这个问题与其他问题不同。我有 2 个这样的数组:数组 1Array( [0] => Array ( [name] => aaaa [projectId] => 0 [area] => AreaX ) [1] => Array ( [name] => cccc [projectId] => 2 [area] => ))数组 2Array( [0] => Array ( [name] => cccc [projectId] => 1 [area] => ) [1] => Array ( [name] => aaaa [projectId] => 0 [area] => AreaX ))我需要的Array( [1] => Array ( [projectId] => 2 ))我从类似的问题中阅读并测试了很多建议,但所有这些都返回了整个数组或完全不同的东西。我尝试过的一些相关功能:1 , 2 , 3 , 4 , 5 , 6 , 7。我意识到主要问题与阵列的位置有关。当我重新排列它们时,这些功能完美地工作(我目前使用的是数字 3),但我这里的情况不允许这种重组。
1 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
您可以通过使用array_diff,array_column和来实现array_map:
$col = "projectId";
$res = array_diff(array_column($a, $col), array_column($b, $col));
$res = array_map(function($id) use ($col) {return [$col => $id];}, $res);
- 1 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消