मैं एक साधारण सरणी (जो किसी भी लम्बाई के सैद्धांतिक रूप से किया जा सकता है) के साथ शुरू कहते हैं:अद्वितीय जोड़े में विभाजित सरणी
$ids = array(1,2,3,4);
यह कैसा अद्वितीय जोड़े की एक सरणी में विभाजित इस सरणी के लिए सबसे अच्छा समाधान:
$pair[0] = array(1,2);
$pair[1] = array(1,3);
$pair[2] = array(1,4);
$pair[3] = array(2,3);
$pair[4] = array(2,4);
$pair[5] = array(3,4);
आप '$_ids' पर 'array_unique' करके' in_array' चेक से दूर हो सकते हैं। और आप भी गति कर सकते हैं लूप्स से पहले एक पूर्व शर्त के रूप में '$ ids' की गणना करके इसे ऊपर उठाएं (क्योंकि यह बदलने वाला नहीं है)। मैं केवल इनका उल्लेख करता हूं क्योंकि आप जटिलता का उल्लेख करते हैं ... – ircmaxell
@ircmaxell पहले' $ ids' 'की गणना करने के बारे में सही है, हालांकि जटिलता को प्रभावित नहीं करेगा। मुझे नहीं लगता कि आप समय से पहले 'array_unique' का उपयोग कर सकते हैं ... यह ओपी के लक्ष्य पर निर्भर करता है यानी। यदि' $ ids = array (1,2,3,3) ' , [3,3] परिणाम होना चाहिए? –
मैं पुष्टि कर सकता हूं कि 3,3 परिणाम नहीं होना चाहिए – robjmills