我有一個用PHP實現的自己的Tree對象。假設我們有一棵樹,如:PHP樹實現:訪問父節點
Root |_ Folder 1 |_ Folder 2 |_ Subfolder 1
我可以訪問Subfolder 1
這樣的:
$sf1 = $Tree->NavigateTo("Folder 2/Subfolder 1")
而且$sf1
將舉行Subfolder 1
節點。我想實現一個GetParentNode()
方法,使
$parent = $sf1->GetParentNode() // Equivalent to Folder 2
這是樹的定義:
class JaxpTree
{
/**
* @var JaxpTree|JaxpTreeNode Array of Tree nodes.
* @access public
*/
public $Nodes;
/**
* @var JaxpList Array of Tree items.
* @access public
*/
public $ItemList;
}
它的工作原理通過嵌套樹對象,因此,子文件夾1還可以訪問,如:
$Tree->Nodes["Folder 2"]->Nodes["Subfolder 1"]
這將是TreeNode對象:
/**
* Represents a Tree node.
*
* @package Jaxp.Trees
* @subpackage TreeNode
* @since 1.0
*/
class JaxpTreeNode
{
/**
* @var int Node id.
* @access public
*/
public $Id;
/**
* @var JaxpTreeNodeAttributes Contains the node's attributes.
* @access public
*/
public $Attributes;
}
如何在這裏實現父節點訪問?
解決解決方案是增加包含到父節點的參考的父屬性。 謝謝!
所以,我要補充一個「父」屬性與參考。 – 2010-02-28 20:00:52
@Joel是的,正好 – 2010-02-28 20:02:06