"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं PHP में नेस्टेड एरेज़ की गहराई की गणना कैसे कर सकता हूँ?

मैं PHP में नेस्टेड एरेज़ की गहराई की गणना कैसे कर सकता हूँ?

2024-11-18 को प्रकाशित
ब्राउज़ करें:662

How Can I Calculate the Depth of Nested Arrays in PHP?

PHP में नेस्टेड Arrays की गहराई का निर्धारण

Arrays PHP में एक बहुमुखी डेटा संरचना है, जो तत्वों को अन्य Arrays के भीतर संग्रहीत करने की अनुमति देती है। यह सुविधा जटिल डेटा संगठन को सक्षम बनाती है, लेकिन किसी दिए गए ढांचे के भीतर सरणी नेस्टिंग के अधिकतम स्तर को निर्धारित करना चुनौतीपूर्ण हो सकता है।

इसे संबोधित करने के लिए, एक फ़ंक्शन तैयार किया जा सकता है जो सरणी की गहराई की गणना करता है, जो दर्शाता है नेस्टेड सरणियों का अधिकतम स्तर. यदि सरणी में कोई नेस्टेड सरणी नहीं है, तो यह 1 लौटाता है; यदि इसमें एक या अधिक नेस्टेड सरणियाँ हैं, तो यह 2 लौटाता है; और इसी तरह।

अनंत रिकर्सन के लिए वैकल्पिक समाधान:

सरणी की गहराई खोजने का एक तरीका अनंत रिकर्सन की जांच के लिए print_r() का उपयोग करना है। यह फ़ंक्शन किसी सरणी का एक स्ट्रिंग प्रतिनिधित्व उत्पन्न करता है, और इसका आउटपुट इंडेंटेशन संरचना की गहराई को प्रकट कर सकता है।

function array_depth($array) {
    $max_indentation = 1;

    $array_str = print_r($array, true);
    $lines = explode("\n", $array_str);

    foreach ($lines as $line) {
        $indentation = (strlen($line) - strlen(ltrim($line))) / 4;

        if ($indentation > $max_indentation) {
            $max_indentation = $indentation;
        }
    }

    return ceil(($max_indentation - 1) / 2)   1;
}

यह समाधान पुनरावर्ती कार्यों से जुड़े संभावित नुकसान से बचते हुए, सरणी गहराई का सटीक निर्धारण प्रदान करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3