我有两个数组,我想要结合它。但对我来说这并不容易。
编辑。
我想要转换此数组
[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
)
答案 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 $... ] )
$array1
是主阵列array $...
是您要与初始数组合并的其他数组。现在在实践中,这就是它的样子:
<?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上的文档。它将解释每个参数,并且还有一些示例供您查看。