$thearray = array
(
//(0)ID, (1)NAME, (2)LOCATION, (3)PHONE
array("0","Name 1","Nowhere 11","0004444"),
array("1","Name 2","Everywhere 11","0005555"),
array("2","Name 3","ThisPlace 11","0002222"),
array("3","Name 4","NoPlace 11","0003333"),
array("4","Name 5","ThatPlace 11","0001111")
);
这就是我过去存储信息的方式 然后我会浏览它们以找到我需要的东西 并使用例如
显示它们echo $thearray[$i][4]
我想做同样的事情,除了将该信息存储在 Mysql 中 这就是我已经走了多远,但我不断收到奇怪的错误,并且无法从数组输出
这就是我已经走了多远
$result = $db->query("SELECT * FROM table");
$thearray = array();
while($thearray = $result->fetch_assoc()){
$thearray[] = $thearray;
}
出于某种原因,这对我不起作用,就像它不像我上面那样位于二维数组中:S我不能像以前那样简单地回显它。
最佳答案
首先
while($thearray = $result->fetch_assoc()){
$thearray[] = $thearray;
}
会不断覆盖数组并变得非常困惑 尝试一下
while($row = $result->fetch_assoc()){
$thearray[] = $row;
}
从查询返回的数组不再是一个简单的数组,而是一个关联数组
即它看起来像这样:
$new_array = array
(
//(0)ID, (1)NAME, (2)LOCATION, (3)PHONE
array('ID' => "0", 'NAME' => "Name 1", 'LOCATION' => "Nowhere 11", 'PHONE' => "0004444"),
array('ID' => "1", 'NAME' => "Name 2", 'LOCATION' => "Nowhere 22", 'PHONE' => "0005555"),
etc
);
所以现在当你想使用它时,你必须使用这种构造
$name = $new_array[$i]['NAME']
$location = $new_array[$i]['LOCATION']
etc
或
<?php echo $new_array[$i]['NAME']; ?>
<?php echo $new_array[$i]['LOCATION'] ?>
etc
关于php - Mysql结果转换成二维数组php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199196/