Eine Parent Child Struktur

Beispiel ausführen
<?php

    $data 
= array();
    
$data[] = array('id' => 1'parent' => 0);
    
$data[] = array('id' => 2'parent' => 1);
    
$data[] = array('id' => 3'parent' => 1);
    
$data[] = array('id' => 4'parent' => 1);
    
$data[] = array('id' => 5'parent' => 1);

    
$data[] = array('id' => 6'parent' => 2);
    
$data[] = array('id' => 7'parent' => 3);
    
$data[] = array('id' => 8'parent' => 3);

    
$data[] = array('id' => 9'parent' => 7);

    
$data[] = array('id' => 10'parent' => 1);
    
$data[] = array('id' => 11'parent' => 8);
    
$data[] = array('id' => 12'parent' => 4);


    
$stack = array();
    
$items = array();
    while (
$row array_shift($data)){

        
$row['id'] = (int) $row['id'];
        
$row['parent'] = (int) $row['parent'];

        
// child schon da, aber parent noch nicht!
        
if (isset($items[$row['id']])){
            
$tmp $items[$row['id']]['children'];
            
$items[$row['id']] = $row;
            
$items[$row['id']]['children'] = $tmp;
        }else{
            
$items[$row['id']] = $row;
        }
        
$items[$row['parent']]['children'][$row['id']] =& $items[$row['id']];
    }


print 
'<pre>';
print_r($items);
print 
'</pre>';

?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff