如何从mysql数据库在PHP多维数组中添加数组?

如何从mysql数据库在PHP多维数组中添加数组?,php,mysql,multidimensional-array,fetch,Php,Mysql,Multidimensional Array,Fetch,这是我的php代码,我正在从mysql数据库获取数据: $result2 = $mysqli->query("SELECT * FROM movies"); $lista = array(); while ($row2 = $result2->fetch_array()) { $ime=$row2['Title']; $result1 = $mysqli->query("SELECT AVG(Rating) FRO

这是我的php代码,我正在从mysql数据库获取数据:

    $result2 = $mysqli->query("SELECT * FROM movies");
    $lista = array();
    while ($row2 = $result2->fetch_array())
    {
        $ime=$row2['Title'];
        $result1 = $mysqli->query("SELECT AVG(Rating) FROM ratings WHERE Title='$ime'");
        while ($row1 = $result1->fetch_array()){

            $lista = array
            (
                array($row2['Title'],round($row1['AVG(Rating)'],1),$row2['Year'])
            );
        }
    }
    var_dump($lista);
我得到这个结果:

array (size=1)
  0 => 
    array (size=3)
      0 => string 'Memento' (length=7)
      1 => float 8.5
      2 => string '2000' (length=4)
我认为问题在于每个新数组都覆盖了最后一个数组,而我只得到size=1的数组。那么,如何将数组添加到数组中而不覆盖它呢

我希望我的数组如下所示:

array (size=4)
  0 => 
    array (size=3)
      0 => string 'Forrest Gump' (length=12)
      1 => float 4.5
      2 => string '1994' (length=4)
  1 => 
    array (size=3)
      0 => string 'The Prestige' (length=12)
      1 => float 7
      2 => string '2006' (length=4)
  2 => 
    array (size=3)
      0 => string 'The Usual Suspects' (length=18)
      1 => float 7.5
      2 => string '1995' (length=4)
  3 => 
    array (size=3)
      0 => string 'Memento' (length=7)
      1 => float 8.5
      2 => string '2000' (length=4)
$result2 = $mysqli->query("SELECT * FROM movies");
$lista = array();
while ($row2 = $result2->fetch_array())
{
    $ime=$row2['Title'];
    $result1 = $mysqli->query("SELECT AVG(Rating) FROM ratings WHERE Title='$ime'");
    while ($row1 = $result1->fetch_array()){

        $lista[] = array($row2['Title'],round($row1['AVG(Rating)'],1),$row2['Year']);
    }
}
var_dump($lista);

你应该这样做:

array (size=4)
  0 => 
    array (size=3)
      0 => string 'Forrest Gump' (length=12)
      1 => float 4.5
      2 => string '1994' (length=4)
  1 => 
    array (size=3)
      0 => string 'The Prestige' (length=12)
      1 => float 7
      2 => string '2006' (length=4)
  2 => 
    array (size=3)
      0 => string 'The Usual Suspects' (length=18)
      1 => float 7.5
      2 => string '1995' (length=4)
  3 => 
    array (size=3)
      0 => string 'Memento' (length=7)
      1 => float 8.5
      2 => string '2000' (length=4)
$result2 = $mysqli->query("SELECT * FROM movies");
$lista = array();
while ($row2 = $result2->fetch_array())
{
    $ime=$row2['Title'];
    $result1 = $mysqli->query("SELECT AVG(Rating) FROM ratings WHERE Title='$ime'");
    while ($row1 = $result1->fetch_array()){

        $lista[] = array($row2['Title'],round($row1['AVG(Rating)'],1),$row2['Year']);
    }
}
var_dump($lista);

为什么OP要尝试这个?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。@JayBlanchard这是数组最基本的东西。我还应该解释什么?假装你在向一个从未做过的人解释。@JayBlanchard谢谢你的提示。在回答未来的问题时,我会记住这件事。