欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

数组操作

程序员文章站 2024-02-14 21:20:22
...
本帖最后由 lazygc520 于 2013-06-25 18:14:38 编辑 $sql = "select * from table where cloumn ...";
$result = mysql_query($sql);
$var = array();
while($row = mysql_fetch_array($result,MYSQL_NUM))
{
$var[] = $row;
}

foreach($var as $v)
{
foreach($v as $key=>$value)
{
echo $value.'
';
}
}

显示结果如下:

4890//value1;

1635
624 //value2;

4890//value3;

请问怎么改能让结果变成:

4890

2249//1635+624;

4890

不能用这个方式计算,结果不对:

foreach($var as $v)
{
foreach($v as $key=>$value)
{
$total += $v[$value];
echo $total;
}
}

结果如下:

4890

7139//4890+2249

12029//4890+2249+4890

求解决方法。

回复讨论(解决方案)

print_r($var); 是什么结果啊,或者从sql里面构造看可以不。

print_r($var); 是什么结果啊,或者从sql里面构造看可以不。

array([0]=>array([0]=>4890))

array([0]=>array([0]=>1635) [1]=>array([0]=>624))

array([0]=>array([0]=>4890))

$var 不是那个数组吧,贴错了吧?

$var 不是那个数组吧,贴错了吧?
没有啊,就是个二维数组啊。整个外面还有一个for循环我没贴出来。

while($row = mysql_fetch_array($result,MYSQL_NUM))
{
$var[] = $row;
}
print_r($var);

while($row = mysql_fetch_array($result,MYSQL_NUM))
{
$var[] = $row;
}
print_r($var);

那这样吧,就取一条记录:

array([0]=>array([0]=>1635) [1]=>array([0]=>624))

结果是这样的。

这个意思?

$ar = array(  array( 1635 ),  array( 624 ),);$res = array();foreach($ar as $item) {  foreach($item as $v) $res[] = $v;}echo array_sum($res) . '//' . join('+', $res);
2259//1635+624

你先完整打印出你的结果集 var_dump($var)

这个意思?

$ar = array(  array( 1635 ),  array( 624 ),);$res = array();foreach($ar as $item) {  foreach($item as $v) $res[] = $v;}echo array_sum($res) . '//' . join('+', $res);
2259//1635+624

非常感谢,问题已解决。
相关标签: 数组操作