第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在PHP中合并兩個(gè)不相等的多維數(shù)組?

如何在PHP中合并兩個(gè)不相等的多維數(shù)組?

PHP
叮當(dāng)貓咪 2023-07-08 20:59:03
我有兩個(gè)數(shù)組,如 JS 小提琴中給出的多維數(shù)組。如果 Month1 值相同,我想按升序?qū)⑵浜喜橐粋€(gè),否則按原樣打印    $array1= [0] => Array            (                [month1] => January                [2020cs] => 84                [2020as] => 500                [2019cs] => 17                [2019as] => 500            )            [1] => Array            (                [month1] => February                [2020cs] => 54                [2020as] => 200                [2019cs] => 12                [2019as] => 1000            )            [2] => Array            (                [month1] => April                [2020cs] => 4                [2020as] => 100                [2019cs] => 12                [2019as] => 1400            )            [3] => Array            (                [month1] => November                [2020cs] => 0                [2020as] => 0                [2019cs] => 7                [2019as] => 200            )    )            $array2= [0] => Array            (                [month1] => January                [2020cr] => 13                [2020ar] => 300                [2019cr] => 0                [2019ar] => 0            )            [2] => Array            (                [month1] => March                [2020cr] => 1                [2020ar] => 100                [2019cr] => 0                [2019ar] => 0            )            [3] => Array            (                [month1] => November                [2020cr] => 0                [2020ar] => 0                [2019cr] => 1                [2019ar] => 800            )            [4] => Array            (                [month1] => December                [2020cr] => 0                [2020ar] => 0                [2019cr] => 2                [2019ar] => 500            )        )我也使用過 array_merge_recursive() 。它也不起作用。誰能幫我嗎?提前致謝。
查看完整描述

1 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

以下邏輯可能會(huì)幫助您:

  1. 為每個(gè)頂級(jí)數(shù)組鍵指定月份名稱 ( rekey())

  2. 合并兩個(gè)數(shù)組

  3. 對(duì)結(jié)果集進(jìn)行排序 ( $result)

<?php


// top-level array from indexed to associative (name of month)

$array1 = rekey($array1);

$array2 = rekey($array2);


function rekey(array $arr = []): array

{

    foreach ($arr as $key => $record) {

        $arr[$record['month1']] = $arr[$key]; // indexed to name of month

        unset($arr[$key]);

    }

    return $arr;

}

// run the merge

$result = array_merge_recursive($array1, $array2);


// clean up double entries key 'month1'

foreach($result as $key => &$value) {

    if(is_array($value['month1'])) $value['month1'] = $value['month1'][0];

}


// prepare result set for sorting

$months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',

           'August', 'September', 'October', 'November', 'December'];

foreach($result as $key0 => $value0) {

    foreach($months as $key1 => $value1) {

        if($key0 === $value1) {

            $result[$key1] = $result[$key0]; // set index based on month 0-11

            unset($result[$key0]);

        }

    }

}

ksort($result); // sort

$result = array_values($result); // top-level array back to sequential index

工作演示


查看完整回答
反對(duì) 回復(fù) 2023-07-08
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)