मेरे पास एक पदानुक्रम में वस्तुओं का एक सेट है। एक शीर्ष "रूट" नोड है और इसमें बाल नोड्स हैं, जो बदले में बच्चे नोड्स हैं। मैं इस संरचना को नेस्टेड सेट मॉडल का उपयोग करके डीबी में सहेजने की कोशिश कर रहा हूं, जहां प्रत्येक नोड के प्रत्येक "पक्ष" को परिभाषित करने के लिए गिना जाता है Managing Hierarchical Data in MySQL में के रूप में पदानुक्रम,:PHP रिकर्सिवइटरेटरइटरेटर और नेस्टेड सेट
alt text http://dev.mysql.com/tech-resources/articles/hierarchical-data-4.png
मेरे समस्या छोड़ दिया और सही मूल्यों की गणना की जाती है। मैं आमतौर पर पदानुक्रम पर पुनरावृत्ति करने के लिए रिकर्सिवइटरेटर इटरेटर का उपयोग करता हूं, लेकिन मैं संदर्भित नहीं कर सकता कि संख्याओं की गणना करने के बिना किसी रिकर्सिव फ़ंक्शन का उपयोग किए बिना संदर्भित किया जा सकता है जो संदर्भ द्वारा इंडेक्स वैरिएबल को पार करता है।
कोई भी विचार?
यह किसी काम का नहीं शायद है, लेकिन यह (गलत) कोड मैं वर्तमान में है:
$iterator = new RecursiveIteratorIterator(
new Node_List(array($root)),
RecursiveIteratorIterator::SELF_FIRST);
$i = 0;
foreach ($iterator as $node) {
$node->left = ++$i;
$node->right = ++$i;
}
आप देख सकते हैं, जो कुछ इस तरह देना होगा:
Node
Node
Node
वामपंथियों और का सही मान:
Node (1, 2)
Node (3, 4)
Node (5, 6)
जब वे किया जाना चाहिए:
Node (1, 6)
Node (2, 3)
Node (4, 5)