Saturday 15 August 2015

php - Iterate through multiple iterators at same time in special order -


आइये कि मेरे पास दो iterators हैं:

  $ a = नया ArrayIterator (array (4 , 3, 2)); $ बी = नया अर्रेइटरेटर (सरणी (6, 5, 1));  

अब मैं निम्नलिखित को आउटपुट करने के लिए उन्हें पुनरावृति करना चाहता हूं:

  ab sum 4 6 10 4 5 9 3 6 9 3 5 8 2 6 8 2 5 7 4 1 5 3 1 4 2 1 3  

तो मैं सभी संभव संयोजनों के माध्यम से फिर से करना चाहता हूँ इसके अतिरिक्त मैं इसे एक तरह से चाहता हूं कि उच्चतम मान वाले लोग पहले आ जाएंगे।

मैं सरणियों का उपयोग नहीं करना चाहता हूँ (अतः कोई सरणी क्रमबद्ध नहीं), मुझे इसे आईटरेटर के साथ करने की ज़रूरत है ( मेरे मूल मामले से बाधाओं के कारण)।

यह आपके आवश्यक आदेश है जो चीजें फेंकता है। आप इसे किसी प्रकार के बिना नहीं कर सकते; लेकिन एक ढेर आंकड़ा एक विकल्प हो सकता है:

  $ a = नया अर्रेइटरेटर (सरणी (4, 2, 3)); $ बी = नया अर्रेइटरेटर (सरणी (1, 6, 5)); क्लास MyHeap SplHeap का विस्तार करता है {सार्वजनिक कार्य की तुलना ($ v1, $ v2) {यदि ($ v1- & gt; sum === $ v2- & gt; योग) रिटर्न 0; वापसी $ v1- & gt; योग & lt; $ V2- & gt; योग? -1 1; }} $ Heap = नया MyHeap (); Foreach ($ a $ val1) {foreach ($ b as $ val2) {$ heap- & gt; डालें (ऑब्जेक्ट) ['val1' = & gt; $ val1, 'val2' = & gt; $ val2, 'sum' = & Gt; $ val1 + $ val2]); }} $ हीप- & gt; शीर्ष (); विदेशी मुद्रा ($ मूल्य $ के रूप में ढेर) {गूंज $ value- & gt; val1, '', $ value- & gt; val2, '', $ value- & gt; योग, PHP_EOL; }  

No comments:

Post a Comment