Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中合并此数组_Php_Arrays_Multidimensional Array_Merge - Fatal编程技术网

如何在php中合并此数组

如何在php中合并此数组,php,arrays,multidimensional-array,merge,Php,Arrays,Multidimensional Array,Merge,这是我的第一个数组var\u dump array(1) { [0]=> array(55) { ["Primary Maths"]=> NULL ["Primary Environment"]=> NULL ["Primary English"]=> NULL ["Primary Sinhala"]=>..........etc 在第一个数组中包含55个数组元素。 这是我的第二个数组var\u du

这是我的第一个数组
var\u dump

array(1) {
  [0]=>
  array(55) {
    ["Primary Maths"]=>
    NULL
    ["Primary Environment"]=>
    NULL
    ["Primary English"]=>
    NULL
    ["Primary Sinhala"]=>..........etc
在第一个数组中包含55个数组元素。

这是我的第二个数组
var\u dump

array(1) {
  [0]=>
  array(660) {
    ["Primary_MathsJAN"]=>
    string(7) "checked"
    ["Primary_MathsFEB"]=>
    string(7) "checked"
    ["Primary_MathsMAR"]=>
    string(7) "checked" ...etc
第一个数组中的包含660个数组元素。

所以我想合并(连接)第一个数组和第二个数组。但我想这样。我想连接第一个数组的一个值和第二个数组的12个值

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

有什么方法可以做到这一点吗?

可能有一些内置函数的组合可以使用,但每次我发现自己处于这样的情况下,我宁愿只写两个循环,然后用它来完成。如果您决定遵循我的示例,您可以做的是对第一个数组进行foreach,然后对foreach中的第二个数组使用带有12个循环的正则for。您可能还希望在第二个数组上使用array_值,以避免与密钥发生冲突


祝你好运

这将把第二个数组分割成一个多维数组,分成12个元素块,并将其与第一个数组合并。但是,看起来您需要使用第1个数组中的键,因此我添加了函数array_键:

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

如果我很好地理解了这个问题,这将完成以下工作:

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

尝试使用array_combine(array_keys($a1),array_chunk($a2[0],12))-看起来第二个数组中有一个数组警告:array_combine()[function.array combine]:在第115行的/home/itstec2/public_html/vista/paysearch.php中,两个参数的元素数量应该相等。那么,$a1必须具有与$a2/12相同的元素数量。显然,$a1没有55个元素,或者$a2没有660个元素。我们可以从数组2中创建一个新数组,其中包含12个值和55个数组索引吗?如果希望$a2有12个值和55个元素数组,那么使用数组块($a2[0],55)。请注意,[0]仅在这里,因为当我查看上面的数组时,我看到660元素数组是另一个数组的第一个元素。