[英]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.