用数组处理数据库查询结果集的问题 数据库mssql数组 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $res = array();while($row=mssql_fetch_array($query)){ if(! isset($res[$row['A'])) $res[$res[$row['A']] = $row; else foreach($row as $k=>$v) { if($k != 'A') $res[$row['A']] += $v; }} 厉害,//$res用于存放一组数值$res = array();while($row=mssql_fetch_array($query)){//如果$row['A']不包含于$res中 if(! isset($res[$row['A'])){//将$row存入$res中 $res[$res[$row['A']] = $row;} else {//如果存在于$res中foreach($row as $k=>$v) {//将除了A以外的属性,都相加 if($k != 'A') {$res[$row['A']] += $v;} }}}不知道这样分析对不对 先试试 厉害,//$res用于存放一组数值$res = array();while($row=mssql_fetch_array($query)){//如果$row['A']不包含于$res中 if(! isset($res[$row['A'])){//将$row存入$res中 $res[$res[$row['A']] = $row;} else {//如果存在于$res中foreach($row as $k=>$v) {//将除了A以外的属性,都相加 if($k != 'A') {$res[$row['A']] += $v;} }}}不知道这样分析对不对 先试试 两种处理方式是一样的,用如果A是主键那么用一句sql应该可以直接搞定insert into table(A,B,C,D) values('x',1,2,3) ON DUPLICATE KEY UPDATE B=B+1,C=C+2,D=D+3 应该是可以实现你那个需求的 我把您那个改造了下 有的不明白请指教/***//$ST为待匹配的数组 * $ST=array('SE90','SE47','SE4L','SE42','SH43','SH4M','SH44','SE4J','SN4L','SN57','SN5G','SN91','SN92','SS45','SE4D','SS11','SS48','ST40','SW46','SW44','SW40','SW47','SW4A','SE12','SE4C','SE47','SH4N','SN4N','SS14','WH5E','SC4H','SC54','SC55','SE90','SE5N','SE97','SE9W','WH49','SH4N','SN91','SW4A','SW4K','SW12','SN92','SS4F','WS4Q','ST48','SW11');$temp=array();$items = array(); * **/while($row=mssql_fetch_array($query)){ //如果不存在于数组中则直接放入$items // if(! isset($ST[$row['dbno_bi']])){ if(!in_array($row['dbno_bi'], $ST)){ array_push($items, $row); }else { //$temp临时存放$row['dbno_bi']存在于数组中的$row //如果是第一次遇到这样的row则放入临时数组中 if(!isset($row['dbno_bi'],$temp[$row['dbno_bi']])){ array_push($temp, $row); }else{ //否则将数字栏位的值相加。 问题怎么清除第二次出现的row? 怎么将temp的结果放入$items中 foreach($row as $k=>$v) { //将除了文字以外的属性,都相加 if($k != 'dbno_bi'||$k !='names_bi'||$k!='qsq'||$k!='class2'||$k!='incity'||$k!='cwnames'||$k!='Achivement') { $items[$row[$k]] += $v; } } } } 新手 请教如何设置根目录! 纯散分技术贴 php 能不能调用xmlhttp组件 smarty register_function问题 急!!PHP+Ajax实现用户登录验证问题求解? 参数如何类似这样传递?(可能有些难) 急!重装mysql现在无法连接! 如何实现动态下拉框的功能? 还是简繁体识别问题,散过分了,心情依然不爽。 jquery问题求解决 php 里一个sql语句太长,调式时发现sql语句变得不完整了 PHP技术报错:mysql_connect(): The mysql extension is deprecated and will be removed i
while($row=mssql_fetch_array($query)){
if(! isset($res[$row['A'])) $res[$res[$row['A']] = $row;
else foreach($row as $k=>$v) {
if($k != 'A') $res[$row['A']] += $v;
}
}
//$res用于存放一组数值
$res = array();
while($row=mssql_fetch_array($query)){
//如果$row['A']不包含于$res中
if(! isset($res[$row['A']))
{
//将$row存入$res中
$res[$res[$row['A']] = $row;
}
else {//如果存在于$res中
foreach($row as $k=>$v) {
//将除了A以外的属性,都相加
if($k != 'A')
{
$res[$row['A']] += $v;
}
}
}
}
不知道这样分析对不对 先试试
//$res用于存放一组数值
$res = array();
while($row=mssql_fetch_array($query)){
//如果$row['A']不包含于$res中
if(! isset($res[$row['A']))
{
//将$row存入$res中
$res[$res[$row['A']] = $row;
}
else {//如果存在于$res中
foreach($row as $k=>$v) {
//将除了A以外的属性,都相加
if($k != 'A')
{
$res[$row['A']] += $v;
}
}
}
}
不知道这样分析对不对 先试试 两种处理方式是一样的,用如果A是主键那么用一句sql应该可以直接搞定insert into table(A,B,C,D) values('x',1,2,3) ON DUPLICATE KEY UPDATE B=B+1,C=C+2,D=D+3 应该是可以实现你那个需求的
*//$ST为待匹配的数组
* $ST=array('SE90','SE47','SE4L','SE42','SH43','SH4M','SH44','SE4J','SN4L','SN57','SN5G','SN91',
'SN92','SS45','SE4D','SS11','SS48','ST40','SW46','SW44','SW40','SW47','SW4A','SE12','SE4C','SE47','SH4N','SN4N'
,'SS14','WH5E','SC4H','SC54','SC55','SE90','SE5N','SE97','SE9W','WH49','SH4N','SN91','SW4A','SW4K','SW12'
,'SN92','SS4F','WS4Q','ST48','SW11');
$temp=array();
$items = array();
* **/
while($row=mssql_fetch_array($query)){
//如果不存在于数组中则直接放入$items
// if(! isset($ST[$row['dbno_bi']])){
if(!in_array($row['dbno_bi'], $ST)){
array_push($items, $row);
}else {
//$temp临时存放$row['dbno_bi']存在于数组中的$row
//如果是第一次遇到这样的row则放入临时数组中
if(!isset($row['dbno_bi'],$temp[$row['dbno_bi']])){
array_push($temp, $row);
}else{
//否则将数字栏位的值相加。 问题怎么清除第二次出现的row? 怎么将temp的结果放入$items中
foreach($row as $k=>$v) {
//将除了文字以外的属性,都相加
if($k != 'dbno_bi'||$k !='names_bi'||$k!='qsq'||$k!='class2'||$k!='incity'||$k!='cwnames'||$k!='Achivement')
{
$items[$row[$k]] += $v;
}
}
}
}