生成php数组的问题

时间:2011-04-13 14:21:07

标签: php arrays

我正在生成一个php数组,然后将其转换为xml播放列表。将数组转换为xml没有问题,但我在生成数组时遇到问题。我从DB获取数据并想要使用它。我的代码就像轰鸣声 -

$songs2008 = get_data("musics", "where year='2008'");
$mysongs = array();
foreach($songs2008 as $k1=>$v1){
    $entry = array(
        "url"=>"songs/main_songs/".$v1[file_name],
        "songname"=>$v1[song_title],
        "artist"=>$v1[artist]
    );
    array_push($mysongs, $entry);
}

,数组是 -

$array = array(
    "settings"=>array(
    "width"=>"316",
        "songs"=>array(
        "albumArt"=>array(
        "url"=>"songs/2008.jpg",
        "entries"=>array(
            "entry"=>$mysongs['0'],
                        "entry"=>$mysongs['1'],
                        "entry"=>$mysongs['2'],
                        ----------------------
                        ----------------------
            )
        )
    )

);

它没有参加参赛作品。数组键是相同的(条目);所以只有一个展示。有什么办法吗?还有其他办法吗?请帮忙。

2 个答案:

答案 0 :(得分:1)

这是因为你不能多次使用'entry'作为索引。尝试:

"entries" => $mysongs

@see:http://php.net/manual/de/language.types.array.php进一步阅读php数组

但是要小心,在使用它时,你可能会遇到一些创建xml代码的问题。因为我敢打赌你使用数组键作为标签名称!

答案 1 :(得分:0)

不要将数组键命名为“entry”

$array = array(
    "settings"=>array(
    "width"=>"316",
        "songs"=>array(
        "albumArt"=>array(
        "url"=>"songs/2008.jpg",
        "entries"=>array(
            $mysongs['0'],
            $mysongs['1'],
            $mysongs['2'],
                        ----------------------
                        ----------------------
            )
        )
    )

);