PHP Classes

File: example.php

Recommend this page to a friend!
  Classes of zinsou A.A.E.Moïse   PHP Tree Structure Class   example.php   Download  
File: example.php
Role: Example script
Content type: text/plain
Description: example script
Class: PHP Tree Structure Class
Manipulate hierarchies of trees with data values
Author: By
Last change: Add details about the new version 1.2.0
Date: 5 years ago
Size: 5,055 bytes
 

Contents

Class file image Download
<?php
// require_once './src/btree.php';
// require_once './src/tree.php';
// require_once './src/node.php';
// require_once './src/nullnode.php';
// require_once './src/binarynode.php';

require_once('./Autoloader_src.php');
highlight_string('<?php
$btree= new Btree(new BinaryNode(4));
echo \'<pre>\';


$btree->getRoot()
->addChildren(array(\'left\'=>new notnullnode(\'son\')))
->getLeftChild()
->addChildren(
                array(
                \'left\'=>new notnullnode(\'grandson\'),
                \'right\'=>new notnullnode(\'c16\')
                )
            )
->getParent()
->replaceChild(new notnullnode(\'brotherofson\'),\'right\')
->getRightChild()
->addChildren(
            array(
                \'left\'=>new notnullnode(\'grandson1\'),
                \'right\'=>new notnullnode(\'c17\')
            )
)
->swapChildren()
->getParent()
->swapChildren()
->getLeftChild()
->getLeftChild()
->addChildren(
    array(
    \'left\'=>new notnullnode(\'doublegrandson\'),
    \'right\'=>new notnullnode(\'c18\')
    )
);


var_dump(count($btree));//return the number of true node
var_dump($btree->toArray());//return a representative array of a tree;


?>'
);
$btree= new Btree(new BinaryNode(4));
echo
'<pre>';


$btree->getRoot()
->
addChildren(array('left'=>new notnullnode('son')))
->
getLeftChild()
->
addChildren(
                array(
               
'left'=>new notnullnode('grandson'),
               
'right'=>new notnullnode('c16')
                )
            )
->
getParent()
->
replaceChild(new notnullnode('brotherofson'),'right')
->
getRightChild()
->
addChildren(
            array(
               
'left'=>new notnullnode('grandson1'),
               
'right'=>new notnullnode('c17')
            )
)
->
swapChildren()
->
getParent()
->
swapChildren()
->
getLeftChild()
->
getLeftChild()
->
addChildren(
    array(
   
'left'=>new notnullnode('doublegrandson'),
   
'right'=>new notnullnode('c18')
    )
);


var_dump(count($btree));//return the number of true node
var_dump($btree->toArray());//return a representative array of a tree;


highlight_string('<?php /*can use square bracket to progressively access the tree like an array*/
print_r($btree->getRoot()[\'left\'][\'lEft\'][\'rigHt\']);
print_r($btree[\'top\'][\'left\'][\'lEft\'][\'left\']);
$btree->getRoot()[\'left\'][\'lEft\'][\'left\'][\'value\']=\'c19\';
echo $btree[\'top\'][\'left\'][\'lEft\'][\'left\'][\'parentId\'].\'<br>\';//same as:
echo $btree[\'root\'][\'left\'][\'lEft\'][\'left\'][\'dad\'].\'<br>\';
?>'
);
/**/

print_r($btree->getRoot()['left']['lEft']['rigHt']);
print_r($btree['top']['left']['lEft']['left']);
$btree->getRoot()['left']['lEft']['left']['value']='c19';
echo
$btree['top']['left']['lEft']['left']['parentId'].'<br>';
echo
$btree['root']['left']['lEft']['left']['dad'].'<br>';


highlight_string('<?php
print_r($btree->getRoot()->getChildren()[\'left\']->getChildren()[\'left\']->getGrandPa());//same as

print_r($btree->getRoot()->getGrandSons()[\'left\'][\'left\']->getGrandPa());

?>'
);


print_r($btree->getRoot()->getChildren()['left']->getChildren()['left']->getGrandPa());

print_r($btree->getRoot()->getGrandSons()['left']['left']->getGrandPa());

// var_dump(eval('return '.$btree->export(true).';'));
// var_dump(isset($btree->getRoot()['left']));
// unset($btree->getRoot()['left']);
// var_dump(isset($btree->getRoot()['left']));
highlight_string('<?php
var_dump(isset($btree->getRoot()[\'left\'][\'children\']));
var_dump($btree->getRoot()[\'left\'][\'left\'][\'uncle\'][\'brother\']);

?>'
);

var_dump(isset($btree->getRoot()['left']['children']));
var_dump($btree->getRoot()['left']['left']['uncle']['brother']);

highlight_string('<?php
$x=new Stemnode(\'tada\');
$x->addchild($y=new stemnode(1));
$x->addchild(new stemnode(1));
$x->addchild(new stemnode(1));
$y->addchild(new stemnode(1));
$y[0]->addchild($nt=new notnullnode(6));
var_dump($x[0][0][\'parentId\']);

var_dump(eval(\'return \'.$x->export(true).\';\'));

var_dump($t=new Tree($x));
$nt->addChildren(array(\'left\'=>new BinaryNode(\'fortestpurpose\')));
var_dump($t[\'top\'][0][0][0][\'left\']);

echo count($btree);
echo \'<br>\';
echo count($t);
var_dump($t[\'top\'][\'grandsons\']);
echo \'</pre>\';

foreach($t[\'top\'] as $child){
    echo $child.\'<br>\';
   
}
$t[\'top\']->rewind();
$t[\'top\']->next();
    echo \'<br>\';
        echo \'<br>\';
        echo \'<br>\';
   
var_dump($t[\'top\']->prev());

?>'
);


$x=new Stemnode('tada');
$x->addchild($y=new stemnode(1));
$x->addchild(new stemnode(1));
$x->addchild(new stemnode(1));
$y->addchild(new stemnode(1));
$y[0]->addchild($nt=new notnullnode(6));
var_dump($x[0][0]['parentId']);

var_dump(eval('return '.$x->export(true).';'));

var_dump($t=new Tree($x));
$nt->addChildren(array('left'=>new BinaryNode('fortestpurpose')));
var_dump($t['top'][0][0][0]['left']);

echo
count($btree);
echo
'<br>';
echo
count($t);
var_dump($t['top']['grandsons']);
echo
'</pre>';

foreach(
$t['top'] as $child){
    echo
$child.'<br>';
   
}
$t['top']->rewind();
$t['top']->next();
    echo
'<br>';
        echo
'<br>';
        echo
'<br>';
   
var_dump($t['top']->prev());
?>