具有更改数组顺序的数组的递归差异

我知道这里有很多类似的问题,但我真的认为这个问题与其他问题不同。我有 2 个这样的数组:


数组 1


Array

(

    [0] => Array

        (

            [name] => aaaa

            [projectId] => 0

            [area] => AreaX

        )


    [1] => Array

        (

            [name] => cccc

            [projectId] => 2

            [area] => 

        )


)

数组 2


Array

(

    [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),但我这里的情况不允许这种重组。


湖上湖
浏览 175回答 1
1回答

慕虎7371278

您可以通过使用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);
打开App,查看更多内容
随时随地看视频慕课网APP