से मैं PHP में एक सरणी है बनाएं, जो इस प्रकार है:नेस्टेड सूची बहुआयामी सरणी
array (
[0] => array (
[id] => 1
[title] => "Title 1"
[parent_id] => NULL
[depth] => 0
)
[1] => array (
[id] => 2
[title] => "Title 2"
[parent_id] => NULL
[depth] => 0
)
[2] => array (
[id] => 3
[title] => "Title 3"
[parent_id] => 2
[depth] => 1
)
[3] => array (
[id] => 4
[title] => "Title 4"
[parent_id] => 2
[depth] => 1
)
[4] => array (
[id] => 5
[title] => "Title 5"
[parent_id] => NULL
[depth] => 0
)
[5] => array (
[id] => 6
[title] => "Title 6"
[parent_id] => 4
[depth] => 2
)
)
क्या मैं करना चाहता हूँ इस सरणी पर पुनरावृति है और इसे से एक नेस्टेड <ol>
सूची बनाते हैं। तो परिणाम इस तरह दिखना चाहिए:
<ol>
<li>Title 1</li> // id = 1
<li>Title 2</li> // id = 2
<ol>
<li>Title 3</li> // id = 3 -> parent_id = 2
<li>Title 4</li> // id = 4 -> parent_id = 2
<ol>
<li>Title 6</li> // id = 6 -> parent_id = 4
</ol>
</ol>
<li>Title 5</li> // id = 5
</ol>
मैं इस तरह से सोचने की कोशिश कर रहा हूं कि मैं यह कैसे कर सकता हूं। लेकिन अब तक हर प्रयास विफल रहा है ...
कोई भी कोई विचार है कि मैं इस तरह की एक नेस्टेड <ol>
सूची कैसे बना सकता हूं?
कृपया ध्यान दें कि मेरे पास दिए गए डेटा पर कोई नियंत्रण नहीं है। मैं बस एक एपीआई को कॉल करता हूं और यह जेसन डेटा देता है, जिसे मैं एक सरणी में परिवर्तित करता हूं। और सरणी ठीक उसी तरह दिखती है जैसा मैंने वर्णन किया था।
सतह पर यह आसान दिखता है, लेकिन मुझे लगता है कि आपकी स्थिति के लिए सबसे अच्छा जवाब पाने के लिए आपको अभी भी जानकारी की कमी है। सबसे पहले, आपको सरणी कैसे मिली? क्या यह डेटाबेस से है? क्या इसे अलग-अलग स्टोर करना संभव होगा या आप इस तरह से फंस गए हैं? क्या गहराई (अब या भविष्य में) 1 या 2 से अधिक होने की गारंटी नहीं है या क्या आप कभी भी उप-स्तरों की अनिश्चित संख्या करने की योजना बना रहे हैं? श्रेणियों को कितनी बार जोड़ा या हटाया जाएगा? मैं सुझाव दूंगा कि आप http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ देखें क्योंकि एक नेस्टेड मॉडल आपको और भी चाहिए। – Mike