Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组\合并\递归未正确合并(php)_Php_Arrays - Fatal编程技术网

数组\合并\递归未正确合并(php)

数组\合并\递归未正确合并(php),php,arrays,Php,Arrays,以下两个阵列在[2015]没有像预期的那样合并。相反,它创建了上一个示例中的[2016] 我正在使用的代码: $merge=array\u merge\u recursive($array,$current) 第一个数组:($current) 第二个数组:($array) 当前结果:($merge) 编辑:预期结果 Array ( [Particulier] => Array ( [Weekend] => Array

以下两个阵列在[2015]没有像预期的那样合并。相反,它创建了上一个示例中的[2016]

我正在使用的代码:

$merge=array\u merge\u recursive($array,$current)

第一个数组:($current)

第二个数组:($array)

当前结果:($merge)

编辑:预期结果

Array
(
    [Particulier] => Array
        (
            [Weekend] => Array
                (
                    [2015] => Array
                        (
                            [06] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 111
                                            [startDate] => 12-06-2015
                                            [endDate] => 15-06-2015
                                            [price] => 920
                                        )
                                )
                        )
                )
        )
)
Array
(
    [Particulier] => Array
    (
        [Weekend] => Array
        (
            [2015] => Array
            (
                [05] => Array
                (
                    [0] => Array
                    (
                        [id] => 90
                        [startDate] => 01-05-2015
                        [endDate] => 04-05-2015
                        [price] => 920
                    )

                    [1] => Array
                    (
                        [id] => 91
                        [startDate] => 08-05-2015
                        [endDate] => 11-05-2015
                        [price] => 920
                    )

                    [2] => Array
                    (
                        [id] => 92
                        [startDate] => 15-05-2015
                        [endDate] => 18-05-2015
                        [price] => 920
                    )

                )

                [06] => Array
                (
                    [0] => Array
                    (
                        [id] => 112
                        [startDate] => 19-06-2015
                        [endDate] => 22-06-2015
                        [price] => 920
                    )
                    [1] => Array
                    (
                        [id] => 111
                        [startDate] => 12-06-2015
                        [endDate] => 15-06-2015
                        [price] => 920
                    )
                )
            )
        )
如果需要任何其他信息,请询问!
提前谢谢

根据您的描述,您必须使用关联数组(使用字符串索引,如“2015”),而不是数字索引(如2015)


我还建议使用唯一键作为事件的索引,并使用替代函数array\u replace\u recursive来防止PHP创建任何嵌套数组(请参见)

预期结果?@anantkumarsingh补充道!我通过foreach循环创建数组。那么,如何获取字符串索引呢?array_replace_recursive不就是覆盖上一条记录吗?那不是我想要的。我想添加它。如果有问题,请发布生成数组的foreach循环代码。数组替换仅覆盖现有条目。使用唯一密钥,您将永远不会覆盖任何条目。
Array
(
    [Particulier] => Array
        (
            [Weekend] => Array
                (
                    [2015] => Array
                        (
                            [05] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 90
                                            [startDate] => 01-05-2015
                                            [endDate] => 04-05-2015
                                            [price] => 920
                                        )
                                [1] => Array
                                    (
                                        [id] => 91
                                        [startDate] => 08-05-2015
                                        [endDate] => 11-05-2015
                                        [price] => 920
                                    )

                                [2] => Array
                                    (
                                        [id] => 92
                                        [startDate] => 15-05-2015
                                        [endDate] => 18-05-2015
                                        [price] => 920
                                    )
                            )
                        [06] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 112
                                        [startDate] => 19-06-2015
                                        [endDate] => 22-06-2015
                                        [price] => 920
                                    )
                            )
                    )
                [2016] => Array
                    (
                        [06] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 111
                                        [startDate] => 12-06-2015
                                        [endDate] => 15-06-2015
                                        [price] => 920
                                    )
                            )
                    )
            )
Array
(
    [Particulier] => Array
    (
        [Weekend] => Array
        (
            [2015] => Array
            (
                [05] => Array
                (
                    [0] => Array
                    (
                        [id] => 90
                        [startDate] => 01-05-2015
                        [endDate] => 04-05-2015
                        [price] => 920
                    )

                    [1] => Array
                    (
                        [id] => 91
                        [startDate] => 08-05-2015
                        [endDate] => 11-05-2015
                        [price] => 920
                    )

                    [2] => Array
                    (
                        [id] => 92
                        [startDate] => 15-05-2015
                        [endDate] => 18-05-2015
                        [price] => 920
                    )

                )

                [06] => Array
                (
                    [0] => Array
                    (
                        [id] => 112
                        [startDate] => 19-06-2015
                        [endDate] => 22-06-2015
                        [price] => 920
                    )
                    [1] => Array
                    (
                        [id] => 111
                        [startDate] => 12-06-2015
                        [endDate] => 15-06-2015
                        [price] => 920
                    )
                )
            )
        )