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

एक बहुआयामी सरणी में मौजूद पंक्तियों को कैसे खोजें लेकिन दूसरे में नहीं?

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

How to Find Rows Present in One Multidimensional Array but Not in Another?

बहुआयामी सारणियों की सहयोगी पंक्तियों की तुलना

आपके पास दो बहुआयामी सारणियां हैं, $पेजआईडी और $पेरेंटपेज, जहां प्रत्येक पंक्ति कॉलम के साथ एक रिकॉर्ड का प्रतिनिधित्व करती है 'आईडी', 'लिंकलेबल' और 'यूआरएल'। आप $pageids में मौजूद पंक्तियों को ढूंढना चाहते हैं, लेकिन $parentpage में नहीं, गायब पंक्तियों के साथ प्रभावी ढंग से एक सरणी ($pageWithNoChildren) बनाना चाहते हैं।

हालांकि, इन arrays पर सीधे array_diff_assoc() का उपयोग करना अपेक्षा के अनुरूप काम नहीं करेगा। क्योंकि यह प्राथमिक सरणी कुंजियों की तुलना करता है, नेस्टेड पंक्तियों की सामग्री की नहीं। नेस्टेड पंक्तियों की तुलना करने के लिए, हम पहले उन्हें array_map() और क्रमबद्ध() फ़ंक्शन का उपयोग करके एक-आयामी सरणी में परिवर्तित कर सकते हैं।

$serializedPageids = array_map('serialize', $pageids);
$serializedParentpage = array_map('serialize', $parentpage);

उन्हें परिवर्तित करने के बाद, हम इन एक-आयामी सरणियों की तुलना करने और अंतर प्राप्त करने के लिए array_diff() का उपयोग कर सकते हैं।

$serializedDifference = array_diff($serializedPageids, $serializedParentpage);

अंत में, हम परिवर्तित कर सकते हैं array_map() और unserialize() फ़ंक्शन का उपयोग करके बहुआयामी सरणियों में क्रमबद्ध अंतर वापस।

$pageWithNoChildren = array_map('unserialize', $serializedDifference);

यह प्रक्रिया हमें सामग्री की तुलना करने की अनुमति देती है नेस्टेड पंक्तियों में से और उन पंक्तियों को निकालें जो $pageids में मौजूद हैं लेकिन $parentpage में नहीं, जिसके परिणामस्वरूप अपेक्षित आउटपुट:

array (
  0 =>
  array (
    'id' => 1,
    'linklabel' => 'Home',
    'url' => 'home',
  ),
  3 =>
  array (
    'id' => 6,
    'linklabel' => 'Logo Design',
    'url' => 'logodesign',
  ),
  4 =>
  array (
    'id' => 15,
    'linklabel' => 'Content Writing',
    'url' => 'contentwriting',
  ),
)
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3