如何使用MySQL数据形成多维数组?我现在正在使用此代码:
while($row = mysql_fetch_assoc($result)){
$music[$row['artist']][$row['title']][$row['id']][$row['category_id']] = $row['key'];
}
我认为使用多维数组存储我的数据会更容易(艺术家数组=>标题数组=> id,category_id,键)但我不知道如何使用数据形成一个数据来自数据库。我用谷歌搜索,只能找到静态/本地数据多维数组的例子,这对我没有好处。
我也想知道如何在php中输出多维数据以供实际使用。我会使用循环吗?或者会有另一种方式吗?
我只想感谢到目前为止我在stackoverflow上获得的所有帮助,这给我带来了很大的麻烦!
答案 0 :(得分:0)
var $music = array()
while($row = mysql_fetch_assoc($result))
{
foreach($row as $k => $v)
{
$music[$key][] = $v;
}
}
print_r($music);
答案 1 :(得分:0)
$music = array();
while($row = mysql_fetch_assoc($result)){
if ( !isset($music[$row['artist']] ) {
$music[$row['artist']] = array()
}
$music[$row['artist']][$row['title']]=array('id'=>$row['id'],'category_id'=>$row['category_id'],'key'=>$row['key'];
}
或更简单,如果内存要求不是非常重要(我主要是这样做):
$music = array();
while($row = mysql_fetch_assoc($result)){
if ( !isset($music[$row['artist']] ) {
$music[$row['artist']] = array()
}
$music[$row['artist']][$row['title']]=$row;
}
使用两个for-as循环可行 - 假设您想要显示艺术家树而不是标题子树:
foreach ( $music as $artist => $titles ) {
foreach ( $titles as $title => $details ) {
// do stuff, $details contains all the details for the specific $artist and $title
}
}