codeigniter - multidimensional array -
निम्न पंक्ति का अर्थ क्या है:
$ data [0] [$ row-> gt ;] [समारोह]: [/ b] [समारोह] समारोह: <पूर्व>
समारोह getCategoriesNav [[बच्चों '] [$ पंक्ति- & gt; आईडी] = $ पंक्ति- & gt; नाम
() {$ Data = array (); $ इस- & gt; db- & gt; चयन ( 'आईडी, नाम, parentid'); $ This- & gt; db- & gt; जहां ('स्थिति', 'सक्रिय'); $ इस- & gt; db- & gt; orderby ( 'parentid', 'एएससी'); $ इस- & gt; db- & gt; orderby ( 'नाम', 'एएससी'); $ इस- & gt; db- & gt; GroupBy ( 'parentid, आईडी'); $ Q = $ this- & gt; डीबी- & gt; प्राप्त करें ('श्रेणियां'); यदि ($ Q- & gt; num_rows () & gt; 0) {foreach ($ Q- & gt; परिणाम $ पंक्ति के रूप में) {if ($ row-> parentid & gt; 0) {$ data [0] [$ पंक्ति- & gt; पैरेंटिड] ['बच्चों'] [$ पंक्ति- & gt; आईडी] = $ पंक्ति- & gt; नाम; } और {$ डेटा [0] [$ पंक्ति- & gt; आईडी] ['नाम'] = $ पंक्ति- & gt; नाम; }}} $ Q- & gt; नि: शुल्क_सुनो (); $ डेटा वापसी; }
बच्चे कहां से आते हैं, और इसका क्या अर्थ है:
$ row-> parentid या $ row- & gt; नाम
?
मेरी टेबल में मेरे पास कोई फ़ील्ड 'बच्चों' नहीं है, और इसे किसी भी जगह घोषित नहीं किया गया है कृपया मदद करें
धन्यवाद, अग्रिम में, मेहदी
अपडेट
क्षमा करें यदि मैंने स्पष्ट रूप से सवाल नहीं समझा है । मेरा प्रश्न था: इस समारोह में निम्नलिखित पंक्ति का अर्थ क्या है $ data [0] [$ row- & gt; मातृभाषा] ['बच्चों'] [$ row-> id] = $ row- & gt; नाम
, जहां से ये बच्चे आते हैं, और $ row- & gt; माफ़ीदार
या $ row- & gt; नाम
से वास्तविक अर्थ क्या है? मेरी मेज में कोई भी क्षेत्र 'बच्चों' नहीं है, और इसे कहीं भी घोषित नहीं किया गया है, कृपया मेरी मदद करें
धन्यवाद mehdy
कोड पढ़ें। अगर श्रेणियों से पंक्ति में एक अभिभावक आईडी है, तो माता पिता आईडी के बच्चों
तत्व के अंतर्गत सरणी में बाल आईडी जोड़े जाते हैं यह बस परिणाम सेट ले रहा है और इसे पदानुक्रम डेटा संरचना में रूपांतरित करता है जो स्थानों में पुनरावृत्ति को समाप्त करता है और इसे आसानी से पार जाता है।
अद्यतन:
विशेष रूप से, निम्न पंक्ति क्या है कोड का:
$ डेटा [0] [$ row- & gt; पैरेंटिड] ['बच्चों'] [$ row-> id] = $ row- & gt; नाम;
आपका फ़ंक्शन आपके क्वेरी के परिणाम के माध्यम से पाशन कर रहा है और जांचता है कि मौजूदा पंक्ति में एक माता पिता आईडी निर्दिष्ट है या नहीं। यदि ऐसा होता है तो यह आपके सरणी (अपनी पदानुक्रम) के लिए एक हैश संलग्न करता है।
foreach ($ Q- & gt; परिणाम () $ पंक्ति के रूप में) {
आपकी क्वेरी परिणाम पंक्ति वस्तुओं का एक संग्रह है प्रतीत होता है कि प्रत्येक वस्तु आपके एसक्यूएल क्वेरी में प्रत्येक कॉलम के लिए एक विशेषता है। इसलिए आपके SELECT
फ़ील्ड के लिए:
$ this- & gt; db- & gt; चयन करें ('id, name, parentid');
हमारे पास:
$ पंक्ति-> आईडी $ पंक्ति- & gt; नाम $ पंक्ति- & gt; पैरेंटिडाड
कोड की मूल लाइन पर वापस जा रहे हैं:
$ डेटा [0] [$ row- & parent; [parent] ['बच्चों'] [$ row- & gt; आईडी] = $ row- & gt; नाम;
यह रेखा इस तरह एक संरचना का निर्माण कर रही है:
सरणी ([0] = & gt; सरणी (// $ डेटा [0] [400] = & Gt; अर्रे (// $ डेटा [0] [$ पंक्ति- & gt; पैरेंटिड] [बच्चों] = & gt; अर्रे (// $ डेटा [0] [$ पंक्ति- & gt; पैरेंटिड] ['बच्चों'] [53 ] = & Gt; पशु // ये हैं [$ row- & gt; आईडी] = $ पंक्ति- & gt; नाम; [54] = & gt; खनिज [55] = & gt; वनस्पति)) [401] = & gt; सरणी ( [बच्चों] = & gt; ऐरे ([4] = & gt; लकड़ी [6] = & gt; धातु [2] = & gt; प्लास्टिक)))
आप इस संरचना को सरलता से सरल कर सकते हैं पहले आवरण सरणी $ डेटा [0]
को हटाकर तो आप इस तरह से कोड बदल सकते हैं:
$ डेटा [$ row- & gt; पैरेंटिड] ['बच्चों'] [$ row-> id] = $ row- & gt; नाम ;
यह इस तरह की संरचना को बदलता है:
सरणी ([400] = & gt; सरणी (// $ डेटा [$ पंक्ति- & gt; पैरेंटिड] [बच्चों] = & gt; ऐरे (// $ डेटा [$ पंक्ति- & gt; पैरेंटिड] ['बच्चों'] [53] = & gt; पशु / ये [$ row- & gt; आईडी] = $ पंक्ति-> से हैं ; [54] = & gt; खनिज [55] = & gt; वनस्पति)) [401] = & gt; ऐरे ([बच्चों] = & gt; अरे ([4] = & gt; लकड़ी [6] = & gt; धातु [ 2] = & gt; प्लास्टिक)))
मुझे उम्मीद है कि यह आपके लिए कोड को स्पष्ट करता है।
Comments
Post a Comment