当前位置:Gxlcms > PHP教程 > 数组操作

数组操作

时间:2021-07-01 10:21:17 帮助过:4人阅读

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

非常感谢,问题已解决。

人气教程排行