如何将多个值附加到关联数组?

时间:2013-04-30 06:30:46

标签: php

我必须向关联数组添加更多值,值会被覆盖,我只能看到显示的最后一个值。

我的摘要是:

$sql= "SELECT  MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());

while($row = mysql_fetch_array($result))
{

$values=array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

}

我希望其他值也出现在数组$值中,但它没有发生。

3 个答案:

答案 0 :(得分:2)

你似乎需要这样做,

$values = array();
while($row = mysql_fetch_array($result))
{
  $values[$row['MONTHNAME(dt)']] = $row['SUM(dist)'];
}
print_r($values);

如果你需要一个关联数组而不是。

$values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

注意: Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:1)

试试这个:

$values[$row['MONTHNAME(dt)']] = $row['SUM(dist)']

答案 2 :(得分:0)

我认为你应该使用。

$sql= "SELECT  MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());
$values = array();
while($row = mysql_fetch_array($result))
{

  $values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

}