如何从mysql数据库在PHP多维数组中添加数组?
这是我的php代码,我正在从mysql数据库获取数据:如何从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
$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谢谢你的提示。在回答未来的问题时,我会记住这件事。