繁体   English   中英

如何将多维数组中的数组推入另一个多维数组中的特定子数组

[英]How to push an array in a multidimensional array into a specific subarray in another multidimensional array

我有两个数组:

$array1 = array(299945 => [13654 => [9917 => [0 => '0', 9 => '9', 33 => '33']]]);
$array2 = array(13654 => [9940 => [0 => '0']]);

其中每个都是从创建这些结果的不同DBQueries创建的。

我知道要从$array2获取'9940'键并将其推入$array1以便它将成为13654数组中的另一个元素。 因此,最终结果将是:

$array1 = array(299945 =>[13654 => [9917 => [0 => '0', 9 => '9', 33 => '33'], 9940 => [0 => '0']]])

我怎样才能做到这一点?

有几种方法可以使用,这是一种使用array_replace_recursive()

<?php

header('Content-type: text/plain');

$array1 = array(299945 => [13654 => [9917 => [0 => '0', 9 => '9', 33 => '33']]]);
$array2 = array(13654 => [9940 => [0 => '0']]);

$array3 = array_replace_recursive($array1, [key($array1) => $array2]);

print_r($array3);

输出:

Array
(
    [299945] => Array
        (
            [13654] => Array
                (
                    [9917] => Array
                        (
                            [0] => 0
                            [9] => 9
                            [33] => 33
                        )

                    [9940] => Array
                        (
                            [0] => 0
                        )

                )

        )

)

如果只需要两个数组并集 ,那么就没有太多了:

$array1 += $array2

您可能应该考虑重复键和类似问题的更复杂情况,因此我通常发现array_merge是将两个数组加在一起的更好工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM