$sql = "SELECT `num`,`project`,`project_category`,`code`,`item_real`,`item_budget`,`item_current_predict`,`item1`,`item2`,`item3`,`item4`,
`item5`,`item6`,`tuisuan`,`tuisuan_status`,`current_status`,`comment`,`id`";
$sql .= "FROM `budgetcontrol` ".$str."WHERE `department` = 'pu' order by `num` asc";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
// echo $row['item1'].' '.$row['item2'].' '.$row['item3'].'<br />'; if($row['porject'] == '物流费')
{
$arr = array($row);
$grp_sum = array();
foreach($row as $value)
{
$grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3'];
}
print_r($grp_sum);
}
}
我想达到这样的效果;$arr = array(array(1, 0.1), array(1, 0.3), array(2, 10), array(2, 20));
$grp_sum = array();
foreach ($arr as $value)
{
$grp_sum[$value[0]] += $value[1];
}
print_r($grp_sum).'<br />';
请问哪里出了问题?
解决方案 »
- Warning: array_key_exists() [function.array-key-exists]: The second argument sho
- php 5.3.5 VC6版本 分享一下.
- sql 注入语句
- 看到php的书怎么都是和mysql结合,没有和ms sql server结合的?
- 从mysql读图片路径但是无法显示
- 如何重定向xml中url?
- 求教写一句sql,sql大牛请进!!
- 跪求 textarea输出结果 IE浏览器下复制出来不换行
- 如何用mial发邮件?
- 微信公众平台PHP代码单图文回复无法实现
- 求助,值的累加问题
- 麻烦高手帮我看看,这个循环哪里出问题了,怎么循环一次就跳出?
foreach($row as $value)
{
$grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3'];
}
print_r($grp_sum);
改为
$grp_sum = array(); $grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3']; print_r($grp_sum);
$sql = "SELECT `num`,`project`,`project_category`,`code`,`item_real`,`item_budget`,`item_current_predict`,`item1`,`item2`,`item3`,`item4`,
`item5`,`item6`,`tuisuan`,`tuisuan_status`,`current_status`,`comment`,`id`";
$sql .= "FROM `budgetcontrol` ".$str."WHERE `department` = 'pu' order by `num` asc";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
// echo $row['item1'].' '.$row['item2'].' '.$row['item3'].'<br />'; if($row['porject'] == '物流费')
{
$grp_sum = array();
$grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3']; print_r($grp_sum);//还是没有显示
}
}
这个是每次都把$arr刷新了呀,如果不是你所希望的应该用$arr[] = foreach($row as $value)
这个对$row有什么意义??循环内都加下标直接调用了,还要foreach么?$value完全没出现……
$a += 1;
$a = 0;
$a += 1;
...10次重复后最后$a = ?清空了你的累计还有什么用?mysql_fetch_array()默认是MYSQL_BOTH
MYSQL_BOTH 有用么?你的整数下标在哪使用了?
不过这个在这段代码也没啥影响就算了,我只是提醒你,用字串和整数key混合要慎用,除非你的思路很清晰,否则foreach用起来查错查几天都没结果,自己要养成好的习惯,该字串就字串,该整数就整数
可是我输出还是没有结果?不知道哪里有问题,你能帮我看看么?
{
// echo $row['item1'].' '.$row['item2'].' '.$row['item3'].'<br />'; if($row['porject'] == '物流费')
{
//这里不是新建一个数组?
//$grp_sum = array();
$grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3'];
}
print_r($grp_sum);
}
while($row = mysql_fetch_array($result))
{
// echo $row['item1'].' '.$row['item2'].' '.$row['item3'].'<br />';if($row['porject'] == '物流费')
{
//这里不是新建一个数组?
//$grp_sum = array();$grp_sum['物流费']['item1'] += $row['item1'];
$grp_sum['物流费']['item2'] += $row['item2'];
$grp_sum['物流费']['item3'] += $row['item3'];
}
print_r($grp_sum);
}试一下吧
Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( )一个15个空数组。我怎么能把值显示出来?
$grp_sum = array();
foreach ($arr as $value)
{
$grp_sum[$value[0]] += $value[1];
}
print_r($grp_sum).'<br />';