合并两个数组并将结果作为新数组

时间:2017-10-11 01:43:55

标签: php arrays

我有两个数组,我想要结合它。但对我来说这并不容易。

编辑。

我想要转换此数组

[poll_answer] => Array
    (
        [0] => Fasya
        [1] => Maulana
    )

[poll_image] => Array
    (
        [0] => 176
        [1] => 290
    )

到这样的新数组

[poll_data] => Array
    (
        [poll_answer] => Fasya
        [poll_image] => 176
    )

[poll_data] => Array
    (
        [poll_answer] => Maulana
        [poll_image] => 290
    )

1 个答案:

答案 0 :(得分:1)

更新

既然我更了解你的问题,我相信我想出了一个概念答案,可以帮助你在阵列中朝着正确的方向前进:

for ( $i = 0; $i < count ( $array1 ); $i++ )
{
    $array['poll_data'] = array(
        'poll_answer' => $array1['poll_answer'][$i],
        'poll_image' => $array1['poll_image'][$i]
    );
    print_r($array);
}

在这种情况下,我使用array键并利用第二部分中的数字数组。我正在做的一个例子是$array1['poll_answer'][0]将输出Fasya。考虑到这一点,您可以在动态方法中重置阵列,并调用所需的阵列的每个部分。

运行一个for循环并在循环内部创建一个新循环,这就是你想要的。你的输出应该是:

Array
(
    [poll_data] => Array
        (
            [poll_answer] => Fasya
            [poll_image] => 176
        )

)
Array
(
    [poll_data] => Array
        (
            [poll_answer] => Maulana
            [poll_image] => 290
        )

)

更新

我注意到你想要相同的密钥,因为你实际上必须使用array_merge_recursive,它将以相同的方式保留你的数组密钥。 PHP手册说:

  

array_merge_recursive()将一个或多个数组的元素合并在一起,以便将一个值的值附加到前一个数组的末尾。它返回结果数组。

所以相同的设置,而不是使用array_merge加入数组使用array_merge_recursive

$c_array = array_merge_recursive($array1, $array2);

有关array_merge_recursive的更多信息,您可以查看PHP Manual上的文档,还可以查看一些示例。

干杯

根据PHP手册文档,您可以简单地使用array_merge

  

将一个或多个数组的元素合并在一起,以便将一个值的值附加到前一个数组的末尾。它返回结果数组。

语法如下:

array array_merge ( array $array1 [, array $... ] )
  1. $array1是主阵列
  2. array $...是您要与初始数组合并的其他数组。
  3. 现在在实践中,这就是它的样子:

    <?php
    $array1 = array(
        'poll_data' => array(
            'poll_answer' => 'Fasya',
            'poll_image' => 176
        )
    );
    $array2 = array(
        'poll_data' => array(
            'poll_answer' => 'Maulana',
            'poll_image' => 290
        )
    );
    

    然后调用array_merge函数

    $c_array = array_merge($array1, $array2);
    

    有关array_merge整体方面的详细信息,您可以随时查看PHP Manual上的文档。它将解释每个参数,并且还有一些示例供您查看。