Tengo la siguiente estructura:
Código:
El problema que tengo es a la hora de poder relacionar los hijos con sus padres (al revés, de abajo a arriba).class arbol { var $data; //Datos a guardar en la rama var $numero_hijos; //numero de hjos de la rama var $nivel; //nivel de profundidad (Es necesario administrarlo desde fuera la clase, a la hora de crear el arbol) var $childs; //Apuntador a otras ramas var $grado; //Grado de la rama function arbol($nivel, $datos=null) { $this->childs=array(); $this->nivel=$nivel; if($datos) $this->setData($datos); } function addChild(&$nodo) { $this->childs[]=$nodo; $this->numero_hijos+=1; } function setData($datos) { $this->data=$datos; } }
En C lo hice en su dia mediante punteros, pero con php no se si puedo utilizar las referencias "&" de manera similar.
Podria usar esto para a la hora de añadir un child, hacer una referencia al parent asi?
Código:
Lo he probado, no me da error (al hacer un print_r del arbol el valor para parent me sale *RECURSION*) pero no se si es correcto. function addChild(&$nodo) { $nodo->parent=&$this; $this->childs[]=$nodo; $this->numero_hijos+=1; }