sql >> Database teknologi >  >> RDS >> Mysql

Oprettelse af multidimensional indlejret array fra MySQL-resultat med duplikerede værdier (PHP)

Dette ligner det, du leder efter

$array = array() ;

while ($row = PDO::fetchAll()) // Replace with relevant Information
{
    $section = array();
    $items  = array();
    $prices  = array();

    if(!array_key_exists($row['MenuId'], $array))
    {
        $array[$row['MenuId']] = array();
        $array[$row['MenuId']]['MenuName'] = $row['MenuName'] ;
        $array[$row['MenuId']]['MenuId'] = $row['MenuId'] ;
        $array[$row['MenuId']]['Section'] = array();
    }

    if(!array_key_exists($row['SectionId'], $array[$row['MenuId']]['Section']))
    {
        $array[$row['MenuId']]['Section'][$row['SectionId']] = array();
        $array[$row['MenuId']]['Section'][$row['SectionId']]['SectionId'] = $row['SectionId'] ;
        $array[$row['MenuId']]['Section'][$row['SectionId']]['SubmenuName'] = $row['SubmenuName'] ; 
        $array[$row['MenuId']]['Section'][$row['SectionId']]['Items'] = array() ;

    }

    $items['ItemName'] = $row['ItemName'] ;
    $items['Description'] = $row['Description'] ;

    $prices['PriceId']  = $row['PriceId'] ;
    $prices['Price']  = $row['Price'] ;

    $items['Prices'] = $prices ;
    $section['Items'] = $items ;

    $array[$row['MenuId']]['Section'][$row['SectionId']]['Items'][] = $items ;

}


var_dump($array);

Med kun små ændringer kan du gøre det, som du vil




  1. MySQL; Bedste datatype til store tal

  2. Sådan indsætter du standarddata i tabellen ved hjælp af import.sql-filen i Hibernate, MySQL Application

  3. Forespørgselsoptimering i PostgreSQL. FORKLAR Grundlæggende – Del 2

  4. Tilslutning af PolyBase til Salesforce.com