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

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

按屬性名稱求和數組值

按屬性名稱求和數組值

PHP
POPMUISE 2023-09-22 15:15:40
我想用相同的代碼對計數值求和。這是我的數組:$data = array(    array(        'code' => 02,        'count' => 8    ),    array(        'code' => 03,        'count' => 1    ),    array(        'code' => 03,        'count' => 1    ),    array(        'code' => 03,        'count' => 7    ),    array(        'code' => 11,        'count' => 1    ),    array(        'code' => 11,        'count' => 5    ),    array(        'code' => 17,        'count' => 4    ),    array(        'code' => 17,        'count' => 2    ),    array(        'code' => 17,        'count' => 8    ));現在我嘗試對數組進行分組以count使用相同的代碼求和,但我認為我錯了:$new_data = [];    foreach($data as $k => $v){    $total = 0;    $new_data[$v['code']] = array(        'ttl' => $v['count'] + $total,    );}echo '<pre>';print_r($new_data);echo '</pre>';正確的代碼是什么?謝謝。
查看完整描述

3 回答

?
RISEBY

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

使用isset將避免未定義的偏移錯誤:


$new_data = [];

foreach($data as $k => $v){

    if (!isset($new_data[$v['code']]['ttl'])){

        $new_data[$v['code']]['ttl'] = 0;

    }

    $new_data[$v['code']]['ttl'] += $v['count'];

}

print_r($new_data);


查看完整回答
反對 回復 2023-09-22
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

假設您希望 to 中的鍵$new_data是唯一的代碼,并且值是一個數組,ttl其鍵的值是該特定代碼的計數總和:


$new_data = [];    

foreach($data as $v){

    if (!array_key_exists($v['code'], $new_data)) {

        $new_data[$v['code']]['ttl'] = $v['count'];

    } else {

        $new_data[$v['code']]['ttl'] += $v['count'];

    }

}


查看完整回答
反對 回復 2023-09-22
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

我認為這就是您想要的輸出:


Array

(

    [2] => Array

        (

            [ttl] => 8

        )


    [3] => Array

        (

            [ttl] => 9

        )


    [11] => Array

        (

            [ttl] => 6

        )


    [17] => Array

        (

            [ttl] => 14

        )


)


如果是這樣,您可以對代碼進行少量修改,如下所示:


$new_data = [];

foreach ($data as $d) {

    if (isset($new_data[$d['code']]['ttl'])) {

        $new_data[$d['code']]['ttl'] += $d['count'];

    } else {

        $new_data[$d['code']]['ttl'] = $d['count'];

    }

}


查看完整回答
反對 回復 2023-09-22
  • 3 回答
  • 0 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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