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

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

如何將數(shù)組關(guān)聯(lián)與 2 個鍵值相加

如何將數(shù)組關(guān)聯(lián)與 2 個鍵值相加

PHP
牛魔王的故事 2021-11-19 17:09:19
我試圖在關(guān)聯(lián)數(shù)組中用 2 個鍵條件對值求和,但沒有得到任何結(jié)果,只是不像預(yù)期的那樣。我的陣列:Array([0] => Array    (        [pid] => P1        [rid] => 1        [price] => 100    )[1] => Array    (        [pid] => P1        [rid] => 1        [price] => 120    )[2] => Array    (        [pid] => P1        [rid] => 1        [price] => 130    )[3] => Array    (        [pid] => P2        [rid] => 1        [price] => 80    )[4] => Array    (        [pid] => P2        [rid] => 1        [price] => 120    )[5] => Array    (        [pid] => P2        [rid] => 2        [price] => 150    ));我已經(jīng)嘗試了How to GROUP BY 和 SUM PHP Array 中的一些代碼 ?或在 PHP 中對數(shù)組進(jìn)行分組然后代碼變成:$groups = array();foreach ($array as $item) {   $key = $item['pid'];   if (!array_key_exists($key,$groups)) {      $groups[$key] = array(         'pid' => $item['pid'],         'rid'=>$item['rid'],         'price' => $item['price']      );   } else {   $groups[$key]['price'] += $item['price'];   }}我期望輸出數(shù)組:Array([0] => Array    (        [pid] => P1        [rid] => 1        [price] => 350    )    [1] => Array    (        [pid] => P2        [rid] => 1        [price] => 200    )[2] => Array    (        [pid] => P2        [rid] => 2        [price] => 150    ));我不知道如何用 array_reduce 和 foreach 來解決這個問題,請用其他參考打我或幫我解決這個問題。
查看完整描述

1 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

如果$data是您的輸入數(shù)組,則可以使用以下代碼


$r = array();


foreach ( $data as $d ) {

    $key = $d['pid'] . '-' . $d['rid'];


    if( !isset ( $r[$key] ) ) {

        $r[$key] = $d;

    } else {

        $r[$key]['price'] += $d['price'];

    }

}

echo '<pre>';


print_r($r);

die;


查看完整回答
反對 回復(fù) 2021-11-19
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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