Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie eine hierarchische PHP-Struktur aus einer DB-Tabelle, in einem PHP-Array oder JSON

Zwei Durchgänge für jeden machen den Trick. Dadurch werden alle untergeordneten Elemente rekursiv mit ihren Eltern verknüpft.

$structure = array();
foreach( $array as $row ) { //add rows to array by id
    $structure[ $row["id"] ] = $row + array( "children" => array() );
}
foreach( $structure as &$row ) { //link children to parents
    if( ! is_null( $row["parent"] ) ) {
        $structure[ $row["parent"] ]["children"][] =& $row;    
    }
}