首页 > 解决方案 > 如何将一个数组中的值附加到另一个数组

问题描述

我有两个具有以下结构的数组

array
  'main' => array
     'firstYearStudents' => array
        0 => '10'
        1 => '12'

     'secondYearStudents' => array
        0 => '8'
        1 => '9'

     'programCode' => array
        0 => '03.02.01'
        1 => '03.01.01'

     'educationProgramName' => array
        0 => 'Mathematics'
        1 => 'Physics'

  'total' => array
     'totalFirstYear' => '22'
     'totalSecondYear' => '17'
     'programCode' => '-'
     'totalEducationProgramName' => 'Total Directions'

那么所需的结构应该看起来像这样

array
  'main' => array
     'firstYearStudents' => array
        0 => '10'
        1 => '12'
        2 => '22'

     'secondYearStudents' => array
        0 => '8'
        1 => '9'
        2 => '17'

     'programCode' => array
        0 => '03.02.01'
        1 => '03.01.01'
        2 => '-'

     'educationProgramName' => array
        0 => 'Mathematics'
        1 => 'Physics'
        2 => 'Total Directions'

我尝试了以下方法,但我得到了命名键,所以我无法访问这些键。

$i = 0;
foreach ($studentsEditInfo['main'] as $values) {
    $studentsEditInfo['main'] = array_merge($values, $studentsEditInfo['total'][$i]);
    $i++;
}

我不知道如何在“主”数组的 foreach 循环中访问“总”数组的索引。

标签: phparrays

解决方案


如果您的“总计”数组的顺序始终保持这样,您可以在添加值之前将总计转换为数字数组。

像这样

$arr["total" ] = ["a" => 1,"b" => 2, "c" => 3];
$arrNumeric = [];
foreach ($arr["total"] as $item) {
  $arrNumeric []= $item;
}

之后,您只需要运行此代码即可添加数组值

$i = 0;
foreach ($studentsEditInfo['main'] as $values) {
    $values []= $arrNumeric[$i];
    $i++;
}

我没有测试这个,顺便说一句。


推荐阅读