亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將一個數組中的元素合并到另一個數組中?

如何將一個數組中的元素合并到另一個數組中?

PHP
元芳怎么了 2023-05-26 17:00:41
我有兩個具有以下結構的數組array  'main' => array     'firstYearStudents' => array        0 => '10'        1 => '12'     'secondYearStudents' => array        0 => '8'        1 => '9'  'total' => array     'totalFirstYear' => '22'     'totalSecondYear' => '17'但我想得到以下一個array  'main' => array     'firstYearStudents' => array        0 => '10'        1 => '12'        2 => '22'     'secondYearStudents' => array        0 => '8'        1 => '9'        2 => '17'但我不明白如何將“總”數組中的值附加到“主”數組中的值。你能告訴我應該朝哪個方向移動嗎?編輯:如果我有以下鍵以及上述鍵怎么辦?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'  'total' => array     'totalFirstYear' => '22'     'totalSecondYear' => '17'     'programCode' => '-'那么所需的結構應該是這個樣子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 => '-'我嘗試了以下方法,但我得到了命名的密鑰,所以我無法訪問這些密鑰。$i = 0;foreach ($studentsEditInfo['main'] as $values) {    $studentsEditInfo['main'] = array_merge($values, $studentsEditInfo['total'][$i]);    $i++;}
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

您可以只映射主數組并推送其元素的總和:


$array['main'] = array_map(static function($counts) {

    $sum = ctype_digit(implode('', $counts)) ? array_sum($counts) : '-';


    return array_merge($counts, [$sum]);

}, $array['main']);

密鑰的值main將是您實際需要的:


array(2) {

    ["firstYearStudents"]=>

    array(3) {

      [0] => int(10)

      [1] => int(12)

      [2] => int(22)

    }

    ["secondYearStudents"]=>

    array(3) {

      [0] => int(8)

      [1] => int(9)

      [2] => int(17)

    }

    ["programCode"]=>

    array(3) {

      [0] => string(8) "03.02.01"

      [1] => string(8) "03.01.01"

      [2] => string(1) "-"

    }

}


查看完整回答
反對 回復 2023-05-26
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

如果您只需要移動這兩個屬性,這應該是一個簡單的解決方案:


$data = [

    'main' => [

        'firstYearStudents' => [

            '10',

            '12'

        ],

        'secondYearStudents' => [

            '8',

            '9'

        ]

    ],

    'total' => [

        'totalFirstYear' => '22',

        'totalSecondYear' => '17'

    ]

];


$data['main']['firstYearStudents'][] = $data['total']['totalFirstYear'];

$data['main']['secondYearStudents'][] = $data['total']['totalSecondYear'];

如有必要,您應該能夠擴展它以涵蓋更多年,或者最終編寫一個循環來管理您需要的年數。


查看完整回答
反對 回復 2023-05-26
  • 2 回答
  • 0 關注
  • 193 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號