दिलचस्प पोस्ट
फ़ायरफ़ॉक्स इतिहास में वापस यात्रा के बाद, जावास्क्रिप्ट नहीं चलेगा जावा में गुणों को पढ़ना कंसोल खिड़की मेरे आउटपुट को प्रदर्शित किए बिना क्यों तुरंत बंद हो रही है? IPython / jupyter नोटबुक कार्य निर्देशिका बदलें रेगेक्स: बहिष्कार से मिलान करना, बिना आगे के दिखने वाले – क्या यह संभव है? कस्टम कोनालर संसाधन संसाधन के लिए हेडर पैरामीटर कैसे निर्दिष्ट करें वाष्पशील बनाम इंटरलॉक बनाम लॉक NSLayoutConstraint "UIView-Encapsulated-Layout-Height" क्या है और मैं इसे कैसे ठीक से पुनर्गणना करने के लिए मजबूर करने के बारे में जाना चाहिए UIPageViewController से एक दृश्य नियंत्रक को निकालना मैं अपने सी # कार्यक्रम के एक पैनल के भीतर एक और अनुप्रयोग कैसे चला सकता हूँ? स्प्रिंग बूट + जेपीए: कॉलम नाम एनोटेशन को नजरअंदाज किया गया कैसे एपीके डीबग रिहाई के लिए हस्ताक्षर किए? पोस्टबैक पर, मैं कैसे चेक कर सकता हूं कि पेज_इंट इवेंट में कौन से नियंत्रण कारण पोस्टबैक एंड्रॉइड 6.0 एकाधिक अनुमतियां सी में "कॉलबैक" क्या है और उनका कार्यान्वयन कैसे किया जाता है?

PHP सरणी संयोजन

मेरे पास 7 नंबर (1,2,3,4,5,6,7) की एक सरणी है और मैं 5 संख्याओं की जोड़ी (1,2,3,4,5), (1,2,3) जोड़ना चाहता हूं , 4,6,), (1,2,3,4,7) (1,2,3,4,5) बराबर है (4,5,3,1,2)

मैं जानना चाहूंगा कि क्या PHP या किसी एल्गोरिथ्म में फ़ंक्शन है जो ऐसा कर सकता है? मुझे नहीं पता है कि कहां से शुरू हो रहा है क्या आप मेरी मदद कर सकते हैं ?

मैं 7 नंबरों के सभी संयोजन (उन्हें एक सरणी से लिया जाता है) चाहते हैं, जिसमें 5 स्लॉट्स लगाए गए हैं, ऑर्डर रद्द करने से

वेब के समाधान से एकत्रित समाधान "PHP सरणी संयोजन"

आप यहां मिले समाधान का उपयोग कर सकते हैं http://stereofrog.com/blok/on/070910

अगर लिंक नीचे आता है तो कोड है …

class Combinations implements Iterator { protected $c = null; protected $s = null; protected $n = 0; protected $k = 0; protected $pos = 0; function __construct($s, $k) { if(is_array($s)) { $this->s = array_values($s); $this->n = count($this->s); } else { $this->s = (string) $s; $this->n = strlen($this->s); } $this->k = $k; $this->rewind(); } function key() { return $this->pos; } function current() { $r = array(); for($i = 0; $i < $this->k; $i++) $r[] = $this->s[$this->c[$i]]; return is_array($this->s) ? $r : implode('', $r); } function next() { if($this->_next()) $this->pos++; else $this->pos = -1; } function rewind() { $this->c = range(0, $this->k); $this->pos = 0; } function valid() { return $this->pos >= 0; } protected function _next() { $i = $this->k - 1; while ($i >= 0 && $this->c[$i] == $this->n - $this->k + $i) $i--; if($i < 0) return false; $this->c[$i]++; while($i++ < $this->k - 1) $this->c[$i] = $this->c[$i - 1] + 1; return true; } } foreach(new Combinations("1234567", 5) as $substring) echo $substring, ' '; 

12345 12346 12347 12356 12357 12367 12456 12457 12467 12567 13456 13457 13467 13567 14567 23456 23457 23467 23567 24567 34567

 <?php echo "<pre>"; $test = array("test_1","test_2","test_3"); // Get Combination $return = uniqueCombination($test); //Sort sort($return); //Pretty Print print_r(array_map(function($v){ return implode(",", $v); }, $return)); function uniqueCombination($in, $minLength = 1, $max = 2000) { $count = count($in); $members = pow(2, $count); $return = array(); for($i = 0; $i < $members; $i ++) { $b = sprintf("%0" . $count . "b", $i); $out = array(); for($j = 0; $j < $count; $j ++) { $b{$j} == '1' and $out[] = $in[$j]; } count($out) >= $minLength && count($out) <= $max and $return[] = $out; } return $return; } ?> 

उत्पादन

 Array ( [0] => test_1 [1] => test_2 [2] => test_3 [3] => test_1,test_2 [4] => test_1,test_3 [5] => test_2,test_3 [6] => test_1,test_2,test_3 ) 

पीएआर रिपॉजिटरी में Math_Combinatorics वास्तव में आप क्या चाहते हैं:

एक पैकेज जो किसी भी सेट और सबसेट आकार के सभी संयोजनों और क्रमपरिवर्तन, बिना repitition के, देता है। एसोसिएटिव सरणियां संरक्षित हैं

 require_once 'Math/Combinatorics.php'; $combinatorics = new Math_Combinatorics; $input = array(1, 2, 3, 4, 5, 6, 7); $output = $combinatorics->combinations($input, 5); // 5 is the subset size // 1,2,3,4,5 // 1,2,3,4,6 // 1,2,3,4,7 // 1,2,3,5,6 // 1,2,3,5,7 // 1,2,3,6,7 // 1,2,4,5,6 // 1,2,4,5,7 // 1,2,4,6,7 // 1,2,5,6,7 // 1,3,4,5,6 // 1,3,4,5,7 // 1,3,4,6,7 // 1,3,5,6,7 // 1,4,5,6,7 // 2,3,4,5,6 // 2,3,4,5,7 // 2,3,4,6,7 // 2,3,5,6,7 // 2,4,5,6,7 // 3,4,5,6,7 

यहां मैंने एक उदाहरण दिया है कि ऐसा कैसे करें https://stackoverflow.com/a/8880362/1010916

आपको उपर्युक्त लिंक से फ़ंक्शन के साथ निम्नलिखित निष्पादित करना चाहिए:

 getCombinations(array(1,2,3,4,5,6,7),5) 

यहां दिए गए कार्यान्वयन में से एक को आज़माएं

ए से एल्गोरिथ्म के सभी तत्वों को वापस करने के लिए एल्गोरिथम