如何合并这个数组PHP

时间:2013-05-24 02:01:06

标签: php arrays multidimensional-array merge

这是我的第一个数组var_dump

array(1) {
  [0]=>
  array(55) {
    ["Primary Maths"]=>
    NULL
    ["Primary Environment"]=>
    NULL
    ["Primary English"]=>
    NULL
    ["Primary Sinhala"]=>..........etc

在第一个数组中包含55个数组元素。

这是我的第二个数组var_dump

array(1) {
  [0]=>
  array(660) {
    ["Primary_MathsJAN"]=>
    string(7) "checked"
    ["Primary_MathsFEB"]=>
    string(7) "checked"
    ["Primary_MathsMAR"]=>
    string(7) "checked" ...etc

在第一个数组中包含660个数组元素。

所以我想合并(JOIN)第一个数组和第二个数组。但我希望它像这样。我想加入第一个数组一个值与第二个数组12的值......

1st array elements(55) * 12 = 2nd array elements(660)

有没有这样做?

3 个答案:

答案 0 :(得分:0)

可能有一些你可以使用的内置函数的组合,但每当我发现自己处于这样的情况时,我宁愿只编写2个循环并完成它。如果你决定按照我的例子你可以做的是foreach第一个数组然后使用常规for 12循环为foreach中的第二个数组。您可能还想在第二个数组上使用array_values,以免给自己带来打击密钥的麻烦。

祝你好运!祝你好运!

答案 1 :(得分:0)

这会将第二个数组拆分成一个多维数组,分成12个元素块,然后将它与第一个数组合并。但是,看起来你需要使用第一个数组中的键,所以我添加了函数array_keys:

array_combine(array_keys($a1), array_chunk($a2, 12))

答案 2 :(得分:0)

如果我完全理解这个问题,这将完成这项工作:

$result = $array1[0];
$temp = array_chunk($array2[0],12);
foreach ($result as &$value) {
    $value = array_shift($temp)
}