Ben bir hierachy nesnelerin bir dizi var. Orada bir top "kök" düğüm var ve bu da ben her düğüm her bir "tarafı" tanımlamak için sayılı iç içe set modelini kullanarak bir DB içine bu yapıyı kurtarmak için çalışıyorum vs çocuk düğümleri çocuk düğümleri var hiyerarşi, gibi Managing Hierarchical Data in MySQL:
Benim sorunum sağ ve sol değerleri hesaplıyor. Ben genellikle hiyerarşi üzerinde yineleme için RecursiveIteratorIterator kullanabilirsiniz, ama ben referans bir endeks değişkeni ayrıştırır bir özyinelemeli işlevi başvurmadan sayıları hesaplamak için nasıl çalışmak olamaz.
Herhangi bir fikir?
Hiçbir kullanım muhtemelen, ama bu var şu anda (yanlış) kod:
$iterator = new RecursiveIteratorIterator(
new Node_List(array($root)),
RecursiveIteratorIterator::SELF_FIRST);
$i = 0;
foreach ($iterator as $node) {
$node->left = ++$i;
$node->right = ++$i;
}
Gördüğünüz gibi, bu gibi bir şey vermek istiyorum:
Node
Node
Node
Sol ve sağ değerler:
Node (1, 2)
Node (3, 4)
Node (5, 6)
Onlar olmalıdır zaman:
Node (1, 6)
Node (2, 3)
Node (4, 5)