将平面信息转换为多维数组PHP

时间:2012-07-19 04:19:51

标签: php multidimensional-array

我有一张表,我从中获取数据,创建了一个项目列表。

数据如下所示:

Menu1,Header
Menu2,MenuItem
Menu3,MenuItem
Menu4,MenuItem
Menu5,MenuItem
Menu6,Header
Menu7,MenuItem
Menu8,MenuItem
Menu9,MenuItem
Menu10,MenuItem
...

我的数组需要看起来像这样:

MenuHeader -> MenuItem
           -> MenuItem
           -> MenuItem

MenuHeader -> MenuItem
           -> MenuItem
           -> MenuItem

任何想法?

1 个答案:

答案 0 :(得分:0)

以下是一般概念的一些代码。您需要调整它以使用您的数据库和数据。如果可以,我会建议避免这样做,并调整数据库以将MenuItems与各自的标题相关联。

<?php

    $mysqli = new mysqli("localhost", "user","password","database", "3306"); 
    $query = "SELECT id, title, type FROM tbl_name";
    $result = $mysqli->query($query);

    $array1 = array();
    $currentHeading = "undefined";

    while($row = $result->fetch_assoc())
    {
        if($row['type'] == 'MenuHeader') {
            $array1[$row['title']] = array();
            $currentHeading = $row['title'];
        } else {
            $array1[$currentHeading][] = $row['title'];
        }
    }
?>