Php 如何将具有相同密钥的多个数组组合到单个数组中?

Php 如何将具有相同密钥的多个数组组合到单个数组中?,php,arrays,merge,multidimensional-array,Php,Arrays,Merge,Multidimensional Array,我是php新手。我需要一些帮助。 我有一个数组作为 Array ( [_] => Array ( [0] => [1] => ) [123_] => Array ( [0] => 123 [1] => ) [1234_] => Array ( [0] => 1234 [1] => ) ) Array ( [_] => Array ( [0] => [1] => )

我是php新手。我需要一些帮助。 我有一个数组作为

Array ( [_] => Array ( [0] => [1] => )
        [123_] => Array ( [0] => 123 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
      )
Array ( [_] => Array ( [0] => [1] => )
        [12345_] => Array ( [0] => 12345 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
      )
所以..我的问题是我想要一个数组,其中包含所有这些键和值

Array ( [_] => Array ( [0] => [1] => )
        [123_] => Array ( [0] => 123 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
        [_] => Array ( [0] => [1] => )
        [12345_] => Array ( [0] => 12345 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
  )

将存在重复的键和值。。但我希望所有这些都是一个数组。。任何帮助请参见PHP。

这是不可能的。PHP数组不能有两个相同的键。

正如其他人所说,不可能有一个包含重复键的数组。但您可以构建一个数组:

<?php
$arr1 = array( '_' => Array ( '0' => '', '1' => ''),
             '123_' => Array ( '0' => 123, '1' => ''), 
             '1234_' => Array ( '0' => 1234, '1' => '')
);
$arr2 = array ( '_' => Array ( '0' => '', '1' => ''),
               '12345_' => Array ( '0' => 12345, '1' => ''), 
               '1234_' => Array ( '0' => 1234, '1' => '')
);
$result = array();
foreach( $arr1 as $key => $val) {
  $result[] = array('key'=>$key, 'value'=>$val);
}
foreach( $arr2 as $key => $val) {
  $result[] = array('key'=>$key, 'value'=>$val);
}
print_r($result);
?>

在提供变量转储时,请使用print\u r、var\u dump或更好的var\u export。这是不可能的。当您调用123_uu元素时,它应该是哪一个?您使用数组的目的是什么?它代表什么?你想检测重复并合并它们,还是想通过给它们唯一的键来防止重复?你实际上自己给出了答案:会有重复的键和值。如果它是复制的,它就不再是钥匙了,是吗?哦,对不起,我没有注意到这一点,我只是举了个例子。忽略这一点。没有相同键的问题。事实上,这是我通过循环查询得到的结果集。但是有相同的值和不同的键。你能解释一下如何将所有这些作为一个数组来获得吗。提前谢谢。对不起。我更改了查询。所以我得到了不同的钥匙。但这些值在某个时候可能是相等的。我们可以在单个数组中形成它吗。数组[]=>数组[0]=>[1]=>[123\u-aug]=>数组[0]=>123[1]=>[1234\u-aug]=>数组[0]=>1234[1]=>数组[0]=>[1]=>12345\u-aug]=>数组[0]=>123[1]=>123456\u-aug]=>数组[0]=>1234[1]=>我怎样才能形成这个..@bsrredy:你在两个数组中都有相同的键。哦..对不起,我没有注意到这一点,我只是举了一个例子。忽略这一点。没有相同键的问题。实际上,这是我通过循环查询得到的结果集。希望你理解。使用合并函数时,这些不是不同的数组。它们又在一个数组中。所以我希望它是一个单一的数组。谢谢你的回复
Array
(
    [0] => Array
        (
            [key] => _
            [value] => Array
                (
                    [0] =>
                    [1] =>
                )

        )

    [1] => Array
        (
            [key] => 123_
            [value] => Array
                (
                    [0] => 123
                    [1] =>
                )

        )

    [2] => Array
        (
            [key] => 1234_
            [value] => Array
                (
                    [0] => 1234
                    [1] =>
                )

        )

    [3] => Array
        (
            [key] => _
            [value] => Array
                (
                    [0] =>
                    [1] =>
                )

        )

    [4] => Array
        (
            [key] => 12345_
            [value] => Array
                (
                    [0] => 12345
                    [1] =>
                )

        )

    [5] => Array
        (
            [key] => 1234_
            [value] => Array
                (
                    [0] => 1234
                    [1] =>
                )

        )

)