簡體   English   中英

嘗試在PHP中組合數組中的值

[英]Trying to Combine Values in Array in PHP

我有一個數組,在該數組下運行一個foreach以從mysql數據庫獲取值$ pn_list是PHP代碼上方的數組。 我試圖讓'gen_buy_len'與我加在一起的'gen_buy_qty'相同。 我得到下面的結果。 任何幫助表示贊賞。

Array
(
    [2099] => 2099
    [2906] => 2906
)


foreach($pn_list as $pn){
    SQL::Query("SELECT * FROM `MPL`.`MPL` WHERE `job` = '$job' AND `qb_pn` = $pn");
    $results = SQL::Results();
    $arr = array();
    foreach($results as $k => $value){
      $key = $pn . ":" . $value['gen_buy_len'];
      $arr[$key] += $value['gen_buy_qty'];
    }
}

print_r($arr);

我的結果:

Notice:  Undefined index: 2099:240 in /var/www/html/procurement/html/mpl.php on line 75



Notice:  Undefined index: 2906:504 in /var/www/html/procurement/html/mpl.php on line 75

Array
(
    [2906:504] => 1
)

我的目標:

Array
(
     [2099:240] = 5 //These Are Two  $value['gen_buy_qty'] added together from DB
     [2906:480] = 1
)

嘗試將您的foreach塊修改如下:

foreach($pn_list as $pn){
    SQL::Query("SELECT * FROM `MPL`.`MPL` WHERE `job` = '$job' AND `qb_pn` = $pn");
    $results = SQL::Results();
    $arr = array();
    foreach($results as $k => $value){
        $key = $pn . ":" . $value['gen_buy_len'];
        if (!array_key_exists($key, $arr)) {
            $arr[$key] = 0;
        }
        $arr[$key] += $value['gen_buy_qty'];
    }
}

如果還不存在,這應該初始化數組的鍵,因此您不能開始向其添加值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM