首页 >后端开发 >php教程 >数组操作

数组操作

WBOY
WBOY原创
2016-06-23 14:14:151037浏览

本帖最后由 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

非常感谢,问题已解决。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn