首页 > 解决方案 > 比较多维数组中的两个数组值

问题描述

我设法将数据库中的信息写入数组。此信息分为两个不同的数组。但是现在必须将这些阵列放在一起。

例如:在 2020 年 9 月 8 日,我在“原因代码” Reason1区域的第一个数组中,“计数”为1

在第二个数组中,我在 2020-09-08 的“原因代码”区域 Reason1 中也计数3

现在我必须在array1 或array2 中添加计数,如果array1 和array2 中有相同的原因代码。

我问自己我怎么能做到这一点,因为原因总是可以出现在不同的地方。我用两个 foreach 循环尝试了它 - 但这并没有很好地工作。

我怎么能这样做?

阵列 1:

Array
(
    [0] => Array
        (
            [timestamp] => 2020-09-08
            [shift] => Production
            [total_units] => 3000
            [reason-codes] => Array
                (
                    [0] => Array
                        (
                            [reason] => Reason1
                            [duration] => 24
                            [count] => 2
                        )

                    [1] => Array
                        (
                            [reason] => Reason2
                            [duration] => 37
                            [count] => 1
                        )

                    [2] => Array
                        (
                            [reason] => Reason3
                            [duration] => 3
                            [count] => 1
                        )

                    [3] => Array
                        (
                            [reason] => Reason5
                            [duration] => 14
                            [count] => 1
                        )

                    [4] => Array
                        (
                            [reason] => Reason6
                            [duration] => 2
                            [count] => 1
                        )

                    [5] => Array
                        (
                            [reason] => Reason7
                            [duration] => 65
                            [count] => 5
                        )

                )

        )

    [1] => Array
        (
            [timestamp] => 2020-09-09
            [shift] => Production
            [total_units] => 4000
            [reason-codes] => Array
                (
                    [0] => Array
                        (
                            [reason] => Reason1
                            [duration] => 61
                            [count] => 1
                        )

                    [1] => Array
                        (
                            [reason] => Reason2
                            [duration] => 35
                            [count] => 1
                        )

                    [2] => Array
                        (
                            [reason] => Reason3
                            [duration] => 9
                            [count] => 1
                        )

                    [3] => Array
                        (
                            [reason] => Reason 4
                            [duration] => 214
                            [count] => 9
                        )

                )

        )

)

阵列 2:

Array
(
    [0] => Array
        (
            [timestamp] => 2020-09-08
            [shift] => Production
            [reason-codes] => Array
                (
                    [0] => Array
                        (
                            [reason] => Reason3
                            [duration] => 1
                            [count] => 34
                        )

                    [1] => Array
                        (
                            [reason] => Reason2
                            [duration] => 1
                            [count] => 16
                        )

                    [2] => Array
                        (
                            [reason] => Reason4
                            [duration] => 1
                            [count] => 2
                        )

                    [3] => Array
                        (
                            [reason] => Reason1
                            [duration] => 1
                            [count] => 3
                        )

                    [4] => Array
                        (
                            [reason] => Reason5
                            [duration] => 1
                            [count] => 1
                        )

                    [5] => Array
                        (
                            [reason] => Reason6
                            [duration] => 1
                            [count] => 3
                        )

                    [6] => Array
                        (
                            [reason] => Reason7
                            [duration] => 1
                            [count] => 1
                        )

                    [7] => Array
                        (
                            [reason] => Reason8
                            [duration] => 1
                            [count] => 2
                        )

                    [8] => Array
                        (
                            [reason] => Reason9
                            [duration] => 1
                            [count] => 1
                        )

                    [9] => Array
                        (
                            [reason] => Reason10
                            [duration] => 1
                            [count] => 2
                        )

                    [10] => Array
                        (
                            [reason] => Reason12
                            [duration] => 1
                            [count] => 1
                        )

                    [11] => Array
                        (
                            [reason] => Reason11
                            [duration] => 1
                            [count] => 9
                        )

                    [12] => Array
                        (
                            [reason] => Reason14
                            [duration] => 1
                            [count] => 4
                        )

                    [13] => Array
                        (
                            [reason] => Reason20
                            [duration] => 1
                            [count] => 1
                        )

                    [14] => Array
                        (
                            [reason] => Reason17
                            [duration] => 1
                            [count] => 1
                        )

                )

        )

    [1] => Array
        (
            [timestamp] => 2020-09-09
            [shift] => Production
            [reason-codes] => Array
                (
                    [0] => Array
                        (
                            [reason] => Reason4
                            [duration] => 1
                            [count] => 4
                        )

                    [1] => Array
                        (
                            [reason] => Reason2
                            [duration] => 1
                            [count] => 7
                        )

                    [2] => Array
                        (
                            [reason] => Reason3
                            [duration] => 1
                            [count] => 4
                        )

                    [3] => Array
                        (
                            [reason] => Reason10
                            [duration] => 1
                            [count] => 1
                        )

                    [4] => Array
                        (
                            [reason] => Reason11
                            [duration] => 1
                            [count] => 4
                        )

                    [5] => Array
                        (
                            [reason] => Reason14
                            [duration] => 1
                            [count] => 1
                        )

                    [6] => Array
                        (
                            [reason] => Reason20
                            [duration] => 1
                            [count] => 1
                        )

                    [7] => Array
                        (
                            [reason] => Reason15
                            [duration] => 1
                            [count] => 1
                        )

                    [8] => Array
                        (
                            [reason] => Reason12
                            [duration] => 1
                            [count] => 4
                        )

                    [9] => Array
                        (
                            [reason] => Reason22
                            [duration] => 1
                            [count] => 1
                        )

                )

        )

)

标签: phparrayscompare

解决方案


推荐阅读