尝试在PHP中组合数组中的值
我有一个数组,在它下面运行foreach从mysql数据库中获取值$pn_列表是PHP代码上面的数组。我想知道“gen_buy_len”和我加在一起的“gen_buy_Quantity”是一样的。我得到下面的结果。谢谢你的帮助尝试在PHP中组合数组中的值,php,mysql,arrays,Php,Mysql,Arrays,我有一个数组,在它下面运行foreach从mysql数据库中获取值$pn_列表是PHP代码上面的数组。我想知道“gen_buy_len”和我加在一起的“gen_buy_Quantity”是一样的。我得到下面的结果。谢谢你的帮助 Array ( [2099] => 2099 [2906] => 2906 ) foreach($pn_list as $pn){ SQL::Query("SELECT * FROM `MPL`.`MPL` WHERE `job`
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'];
}
}
这应该初始化数组的键,以防它还不存在,因此您无法开始向它添加值。我收到错误警告:array_key_exists()需要2个参数,给定1个参数,当我添加数组$arr或$value时,我只得到数组的一行([2100:240]=>20)哇!很抱歉我犯了一个小错误,我没有办法从这里测试这段代码。现在已更新,请查看是否还有任何错误。