从数组数组创建分层结构

时间:2011-02-25 16:41:49

标签: php arrays

我有以下

Array
(
    [1298650982] => Array
        (
            [genre] => Action
            [date] => 90s
            [rate] =>; 4
            [title] => Braveheart
        )

    [1298651271] => Array
        (
            [genre] => Action
            [date] => 90s
            [rate] => 3
            [title] => Top Gun
        )

)

我正在尝试构建一个分层系统,它会返回类似这样的内容

  • 动作
    • 90
    • 评分:4
    • 勇敢的心
    • 评分:3
    • Top Gun

基本上将数组组合在一起,它们具有相似的值。 谢谢, 麦克

1 个答案:

答案 0 :(得分:3)

遍历您的数组并为您的值构建一个新数组。类似的东西:

$result = array();
foreach ($array as $key => $item) {
    $result[$item['genre']][$item['date']][$key] = array(
        'title' => $item['title'],
        'rate' => $item['rate']
    );
}

会给你:

Array
(
    [Action] => Array
        (
            [90s] => Array
                (
                    [1298650982] => Array
                        (
                            [title] => Braveheart
                            [rate] => 4
                        )

                    [1298651271] => Array
                        (
                            [title] => Top Gun
                            [rate] => 3
                        )

                )

        )

)

从您的问题中有点难以判断这是否是您想要的格式类型。但你应该能够从这里调整它以达到你想要的效果。