Location: PHPKode > scripts > Tree Class > tree-class/example_Tree.php
<?php


include("Tree.inc.php");

/*
$ddata=array("testkey"=>"testcontent");

$null=null;
$tree = new Tree($ddata,$null);
$node=&$tree->addChild($ddata);
$tmp=&$tree->addChild($ddata);
$tmp->delete();
$tmp=&$tree->addChild($ddata);
$cnode=&$node->addChild($ddata);
			echo "<pre>";
			print_r($tree->getChildrenIds());
			echo "</pre>";
*/
     //create a root node by passing a variable with value null,


//returns a reference to the root node

  $null = null;

// generate a new tree, 
// the root elements are identified by null value 
// there is no data (second parameter)
    $tree = new Tree($null);
// another possibility is to hand over a reference to a parent


// always use references (&)! 
     $node = &$tree->addChild(array("key0"=>"Home"));

  // create another node as subnode of $node
    $subnode = &$node->addChild(array("key0"=>"Home sub1"));
    $subnode = &$node->addChild(array("key1"=>"Home sub2"));

  // create another node as subnode of root node 
    $node = &$tree->addChild(array("key1"=>"Work"));
    $subnode = &$node->addChild(array("key0"=>"Work sub1"));
    $subnode = &$node->addChild(array("key1"=>"Work sub2"));


  		$dummydata = array("dummykey"=>"dummyvalue");
    	// data load may be anything, here we use the dummydata array 
    	$subsubnode = &$subnode->addChild($dummydata);
    	// some information about the node:
    	echo 'the added node has the ID: '.$subsubnode->getId().'<br>';
    	
    	// lets print the level :
    	echo ' created node is on level: '.$subsubnode->getLevel().'<br>';

		// path 
		echo 'path to it from root node is (Array of ids): ';
		print_r($subsubnode->getPath());
		echo '<br>';

    	//get the  parent
		$parent=&$subsubnode->_parent;

	// get the root node (reference!) 
		$rootnode=&$subnode->getRoot();

    // have a look on the structure
echo '<h1>Tree structure</h1>';
echo '<pre>';
    $rootnode->echoStructure();
echo '</pre>';

echo 'delete a node (and child nodes!), path to it from root node is: ';
print_r($subnode->getPath());

		$subnode->delete();

echo 'the new structure: ';
echo '<pre>';
    $rootnode->echoStructure();
echo '</pre>';

?>
Return current item: Tree Class