$record) { if ($record[$pidKey]) { $organized[$record[$pidKey]]['children'][] = &$organized[$id]; } else { $tree[] = &$organized[$id]; } } return $tree; } public function toTree($idKey='id',$pidKey='pid') { $organized=$this->_organizeRecords($this->data,$idKey); $data=$this->_buildTree($organized,$pidKey); return $data; } }